第二章、线性表
一、线性表的顺序表示和实现
1、线性表中第i个数据元素ai的存储位置: LOC(ai)=LOC(a1)+(i-1)*l l为每个元素需占用l个单元
2、有上式可知,线性表的顺序结构是一种随机存取的存储结构,但其缺点为插入和删除比较困难。
3、线性表的数据结构表示为:
//-------线性表的动态分配顺序存储结构 #define LIST_INIT_SIZE 100 //线性表存储空间的初始大小 typedef struct{ Elemtype *elem; //存储空间基址 int length; //线性表当前长度 int listsize //当前分配的存储容量 }Sqlist;
4、线性表的实现:
//待补充
二、线性表的链式表示和实现
1、特点:用一组任意的存储单元存储线性表的数据元素(存储单元可以连续也可以不连续)。
2、线性链表的存储结构:
1 //线性表的单链表存储结构 2 typedef struct Lnode{ 3 Elemtype data; 4 struct Lnode* next; 5 }Lnode,*Linklist;
3、线性表实现:
1 //待补充