本文共 866 字,大约阅读时间需要 2 分钟。
L=(D,R) //线性表=(数据+结构)
线性表具有前驱和后驱关系
4.线性表的实例
设有一个顺序表L={1,2,3,4,5,6},它们的关系图如下
5.使用二元组描述L=(D,R),则
D={1,2,3,4,5,6} (n=6)
R={<1,2><2,3>,<3,4>,<4,5>,<5,6>}
6.线性表特征如下
A、对非空表,A0是表头,无前驱。
B、An-1是表尾,无后继。
C、其他每个元素Ai有且仅有一个直接前驱和一个后继。
7、线性表的基本运算
A、建立一个空表CrealeLint(L).
B、置空表:ClearList(L).
C、判断表是否为空EmptyList(L). true(1)、false(0)
D、求表长Length(L).
E、取表中的元素GetList(L).
F、定位运算:Locate(L,x).
G、插入:Insert(L,x,i),它分为插入前和插入后
H、删除:Delete(L,i)
I、线性表其他内容:合并、拆分、复制、排序和遍历
8.线性表算法描述
void Union(list la,list lb){ int i,k;data_t x; for(i=0;i<Length(lb);i++){ x = GetList(lb,i); k = Locate(la,x); if(k == -1){ Insert(la,x,Length(la)); } } } |
9.线性表的去重运算
void Purge(list L){ int i = 0,j; data_t x,y; while(i<Length(L)-1) { X = GetList(L,i); j = i + 1; while(j<Length(L)) { y = GetList(L,j); if(y == x){ Delete(L,j); }else{ j++; } i++; } } } |
10.总结第四节
转载地址:http://ocuti.baihongyu.com/