数据结构中线性表和链表的小结
来源:互联网 发布:java分布式视频教程 编辑:程序博客网 时间:2024/05/01 19:51
线性表的顺序表示:顺序表
初始化的时候需要确定线性表的数组长度和线性表的长度
线性表的顺序表示:
# define LIST_INIT_SIZE 100
#define LIST_INC_SIZE 20
typedef struct{
ElemType * elem;
int Listsize;
int length;
}SqList;
顺序表的基本操作:
1、顺序表的初始化操作:InitList(SqList &L, int msize=LIST_INIT_SIZE):分配空间。容量、元素数=0
2、顺序表的销毁操作:DestroyList(SqList &L)删除元素、数组长度为0,表长度为0
3、检查空、满、和获取长度:bool ListEmpty(SqList L) 获取数组、列表长度
4、查找和获取元素LocateItem_sq(SqList L,Elemtype e)依次查找元素
5、在位置i处插入元素:void ListInsert_sq(SqList &L,int i,Elemtype e)判断位置是否已满,再逐个后移元素
6、删除元素:void ListDelete_sq(SqList &L, int i,Elemtye &e)
当顺序表的长度无限长时,时间消耗是不容忽视的,因此顺序表常常用于那些无需频繁插入和删除元素的应用
线性表的链式表示:单链表和循环列表
链表需要存储数据本身外,还需要存储一个指示直接后继元素的信息——指针
节点中表示数据元素的域为数据域p->data,指向后继元素的域为指针域p->next。
单链表:
typedef struct LNode{
ElemType data;
struct LNode * next;
}LNode,
单链表的操作:
1、初始化InitList(LinkList &L)只需要定义一个空指针
2、求链表的长度 ListLength_L(linkList L)
3、链表查找元素 LNode * LocateItem_L(LinkList L, ElemType e)
4、链表插入和删除元素
除了单链表外,还有循环链表和双向链表,双向链表是在单向链表的基础上加上一个反向链表
0 0
- 数据结构中线性表和链表的小结
- 数据结构(寒假小结)——2.3线性表之双链表和循环链表
- 数据结构中线性表的存储结构
- 数据结构学习小结(1)-----线性结构-----线性表
- 数据结构2:线性表的链表表示和实现
- 数据结构-线性链表
- 线性链表---数据结构
- 数据结构 线性链表
- 数据结构--线性链表
- 数据结构-线性链表
- 数据结构---概论和线性表
- 线性表11|单链表小结:腾讯面试题 – 数据结构和算法16
- 数据结构之线性链表的算法
- 数据结构 线性链表的运算
- 之线性链表小结
- 数据结构(寒假小结)——2.线性表
- 数据结构之线性表ArrayList小结(一)
- 数据结构之线性表知识点小结(一)
- 清除浮动有关的BFC等知识
- hdu1010(指定位置S到指定位置D走T步)
- 读取数据导入到CSV文件
- wildfly 入门
- Python入门 之 Set
- 数据结构中线性表和链表的小结
- 编程题总结
- Android基础之IO流
- 百度运维实习生面试总结
- java 之 helloworld
- 纯虚函数与抽象类2
- CSS 基础笔记
- 矢量场
- Ubuntu, Pycharm, Theano, nvcc not found