一、线性表 1.1、定义和特点 线性表,是由n个具有相同特性的数据元素构成的有限序列。其中,数据元素的个数n是线性表的长度,当n为零时称为空表。 对于一个非空的线性表(或线性结构)来说,其特点如下: 仅有一个被称作“第一个”的数据元素; 仅有一个被称作”最后一个“的数据元素; 除第一个元素之外,表中...
线性表的两种存储结构: 1.顺序存储(线性表若采用链式存储结构时,内存中可用存储单元的地址连续或不连续都可以) 2.链式存储(线性表若采用顺序存储结构时,必须占用一片连续的存储单元) 线性表的顺序存储结构 顺序存储结构在存、读数据时,不管是哪个位置,时间复杂度都是O(1);而插入或删除时,时间复杂度都是O(n)...
静态链表是用数组来描述线性表的链式存储结构,结点也有数据域 data 和指针域 next,与前面所讲的链表中的指针不同的是,这里的指针是结点在数组中的相对地址(数组下标),又称游标。和顺序表一样,静态链表也要预先分配一块连续的内存空间。#define Maxsize 50 //静态链表的最大长度typedef struct{ //静态...
像上图这样,用一根线将具有“一对一”逻辑关系的数据存储起来,这样的存储方式就称为线性表或者线性存储结构。 顺序存储结构和链式存储结构 从图3 不难看出,线性表存储数据的实现方案有两种,分别是: 像图3a) 那样,不破坏数据的前后次序,将它们连续存储在内存空间中,这样的存储方案称为顺序存储结构(简称顺序表); ...
[图解数据结构] 线性表 1.线性表的定义 若将线性表记为(a1,...,ai-1,ai,ai+1,...,an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。 线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表。
Length(L):求表长。返回线性表L的长度,即L中数据元素的个数; PrintList(L):输出操作。按前后顺序输出线性表L的所有元素值; Empty(L):判空操作。若L为空表,则返回true,否则返回false; 复习完了线性表的相关知识点,下面我们来看一下线性表的两种存储结构; ...
将具有“一对一”关系的数据“线性”地存储到物理空间中,这种存储结构就称为线性存储结构(简称线性表),线性表存储结构可细分为顺序存储结构和链式存储结构。使用线性表存储的数据,如同向数组中存储数据那样,要求数据类型必须一致,也就是说,线性表存储的数据,要么全不都是整形,要么全部都是字符串。一半是整形,另一半...
每个数据元素的存储位置都和顺序表的起始位置相差一个和该数据元素的位序成正比的常数,因此,顺序表中的任意一个数据元素都可以随机存取,所以线性表的顺序存储结构是一种随机存取的存储结构。通常用高级程序设计语言中的数组来描述线性表的顺序存储结构。注意 线性表中元素的位序是从Ⅰ开始的,而数组中元素的下标是从...
3.2线性表的抽象数据类型 3.3 线性表的顺序存储结构 3.3.1 顺序存储定义 3.3.2顺序存储方式 3.3.3数据长度与线性表长度区别 3.3.4 地址计算方法 3.4 顺序存储结构的插入与删除 3.4.1 获得元素操作 3.4.2 插入操作 3.4.3 删除操作 3.4.4 线性表顺序存储结构的优缺点 ...