文章目录
顺序表
静态
动态
插入
在表中第i个位置插入元素e
删除
将表中第i个元素删除 并返回
按值查找
存储密度大 可以随机访问 插入删除麻烦 扩展不方便
顺序表是一种支持随机存取的存储结构 根据起始地址加元素的序号 可以很方便的访问任意一个元素
一个顺序表所占用的存储空间大小与表的长度 元素的类型 元素中各字段的类型
顺序表 最常用的操作是 存取第i个元素及其前驱后继元素的值 且在最后进行插入和删除操作
若长度为n的非空线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,则i的合法值应该是1<=i<=n+1
顺序表的插入算法中,当n个空间已满时,可再申请增加分配m个空间,若申请失败, 则说明系统没有(n+m)可分配的存储空间。
单链表
typedef struct LNode{
int data;
struct LNode *next;
}LNode, *LinkList;
尾插法
头插法
按序号查找
按值查找
按位序插入
按位序删除
删除结点*p
求表长
双链表
插入
删除
查找
循环链表
循环单链表
循环双链表
插入
循环单链表 同单链表 只是在尾结点处理 指向头结点
循环双链表
删除
同单链表
循环双链表
查找
栈
顺序栈
基本操作
链栈
采用链式存储 便于结点的插入和删除 链栈的操作与链表类似,入栈和出栈的操作都在链表的表头进行。
顺序队列
基本操作
链式队列
基本操作