• 线性表的基本概念
    • 线性表的定义
    • 线性表的特征
    • 线性表的基本运算
    • 线性表的存储结构
      • 顺序存储结构
      • 链式存储结构
        • 单链表
        • 双链表

    线性表的基本概念

    线性表的定义

    线性表是由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;