线性表的基本概念

线性表的定义

线性表是由n(n>=0)个结点组成的有限序列,通常表示成(a1,a2,…,an),满足以下特征。

线性表的特征

  • 线性表中每个结点至多只有一个前驱结点且至多只有一个后继结点
  • 起始结点没有前驱结点
  • 终结结点没有后继结点

线性表的基本运算

  • 初始化线性表
  • 求线性表的长度
  • 求线性表的第i个元素
  • 按值查找元素,返回元素序号
  • 插入元素
  • 删除元素
  • 输出列表

线性表的存储结构

顺序存储结构

  1. #define MAXSIZE 100 /*顺序表的容量*/
  2. typedef char ElemType;
  3. typedef struct
  4. {
  5. ElemType data[MAXSIZE]; /*存放顺序表的元素*/
  6. int length; /*顺序表的实际长度*/
  7. } SqList;

链式存储结构

单链表

  1. typedef char ElemType;
  2. typedef struct node
  3. {
  4. ElemType data; /*数据域*/
  5. struct node *next; /*指针域*/
  6. } SLink;

双链表

  1. typedef char ElemType;
  2. typedef struct node
  3. {
  4. ElemType data; /*数据域*/
  5. struct node *prior,*next; /*分别指向前驱结点和后继结点的指针*/
  6. } DLink;