数据结构-----线性表
定义顺序表的结构
用数组来模拟顺序表的保存形式,在顺序表中还需定义一个变量,用来保存顺序
表中已有元素的数量。
typedef struct //定义顺序表结构
{
DATA ListData[MAXSIZE+1]; //保存顺序表的数组
int ListLen; //顺序表已存节点的数量
}SeqListType;
(1):初始化顺序表
void SeqListInit(SeqListType *SL);
(2):返回顺序表的元素数量
int SeqListLength(SeqListType *SL);
(3):向顺序表中添加元素
int SeqListAdd(SeqListType *SL,DATA data);
(4):向顺序表中插入元素
int SeqListInsert(SeqListType *SL,int n,DATA data);
(5):删除顺序表中的数据元素
int SeqListDelete(SeqListType *SL,int n);
(6):根据序号返回元素
DATA *SeqListFindByNum(SeqListType *SL,int n);
(7):按关键字查找
int SeqListFindByCont(SeqListType *SL,char *key);
(8):遍历顺序表中的内容
int SeqListAll(SeqListType *SL);
不足之处是:顺序表是按顺序将数据保存到内存中,因此在顺序表中
存取数据很方便,但在插入数据时,需要移动大量的数据,最坏的情况下,如果每次都是要在顺序表的首位置插入元素,则需要将顺序表中所有元素都向后移,效率非常低。