线性表的定义以及操作

线性表定义

线性表是具有相同数据类型的n个数据元素的有限序列。
其特点:

  1. 表中数据元素有限
  2. 具有逻辑上的顺序性
  3. 数据类型相同
  4. 元素具有抽象性,在对线性表进行操作的过程中,进讨论元素之间的逻辑关系,不考虑其内容

线性表的基本操作

这一部分是比较基础的,也是很多人在学下数据结构线性表这一章节的时候都能够注意到的,但是其核心是要掌握这几种操作在细节上的代码实现,并且要熟练记住并掌握。
线性表的定义以及操作_第1张图片

【注】‘&’表示C++中的引用。如果传入变量是指针型的变量,且在函数体内要对传入的指针进行改变,则将用到指针型。在c中采用指针也可以达到同样的效果。

顺序表——线性表的顺序存储

线性表的定义以及操作_第2张图片
线性表元素类型为ElemType,线性表顺序存储类型描述为

#define MaxSize 50 //线性定义线性表的最大长度
typedef struct{
   ElemType data[MaxSize];//顺序表元素
   int length;   //顺序表当前长度
}Sqlist   ;      //顺序表定义类型

——————————————————一维数组静态分配
还可以动态分配,也就是在后面的编程过程中用的比较多的

#define Initsize 100     //定义初始表的长度
typedef struct{
     Elemtype *data ;    //指示动态分配数组的指针
     int MaxSize,length;     //数组的最大容量和当前的个数
}SeqList ;          // 动态分配数组顺序表的定义

C的初始动态分配语句为

L.data = (ElemType*)malloc(Sizeof(ElemType)*InitSize);

C++语句

L.data = new ElemType[InitSize];

后面的对线性表的具体操作主要理解其思路,然后通过实际的操作,做一次实验来对各个操作做进一步的理解。

你可能感兴趣的:(大三复习,线性表定义,线性表操作)