全球旧事资料 分类
数据结构(C语言版)
第二章线性表
算法21
voidU
io
ListLaListLb算法21
将所有在线性表Lb中但不在La中的数据元素插入到La中
i
tLa_le
Lb_le
i
ElemTypee
La_le
ListLe
gthLa
求线性表的长度
Lb_le
ListLe
gthLb
fori1iLb_le
i
GetElemLbie
取Lb中第i个数据元素赋给e
ifLocateElemLaeequalLa中不存在和e相同的数据元素
ListI
sertLaLa_le
e插入

u
io

算法22
voidMergeListListLaListLbListLc算法22已知线性表La和Lb中的元素按值非递减排列。归并La和Lb得到新的线性表Lc,Lc的元素也按值非递减排列。i
tLa_le
Lb_le
ElemTypeaibji
ti1j1k0I
itListLcLa_le
ListLe
gthLaLb_le
ListLe
gthLbwhileiLa_le
jLb_le
La和Lb均非空GetElemLaiaiGetElemLbjbjifaibjListI
sertLckaiielseListI
sertLckbjjwhileiLa_le
GetElemLaiaiListI
sertLckai
1
fwhilejLb_le
GetElemLbjbjMergeList
ListI
sertLckbj
算法23
StatusI
itList_SqSqListL算法23
构造一个空的线性表L。
LelemElemTypemallocLIST_INIT_SIZEsizeofElemType
ifLelemretur
OK
存储分配失败
Lle
gth0
空表长度为0
LlistsizeLIST_INIT_SIZE初始存储容量
retur
OK
I
itList_Sq
算法24
StatusListI
sert_SqSqListLi
tiElemTypee算法24
在顺序线性表L的第i个元素之前插入新的元素e,
i的合法值为1≤i≤ListLe
gth_SqL1
ElemTypep
ifi1iLle
gth1retur
ERRORi值不合法
ifLle
gthLlistsize当前存储空间已满,增加容量
ElemType
ewbaseElemTypereallocLelem
LlistsizeLISTINCREMENTsizeofElemType
if
ewbaseretur
ERROR存储分配失败
Lelem
ewbase
新基址
LlistsizeLISTINCREMENT增加存储容量

ElemTypeqLelemi1q为插入位置
forpLelemLle
gth1pqpp1p
插入位置及之后的元素右移
qe
插入e
Lle
gth表长增1
retur
OK
ListI
sert_Sq
算法25
StatusListDelete_SqSqListLi
tiElemTypee在顺序线性表L中删除第i个元素,并用e返回其值。
2
fi的合法值为1≤i≤ListLe
gth_SqL。
ElemTypepq
ifi1iLle
gthretur
ERRORi值不合法
pLelemi1
p为被删除元素的位置
ep
被删除元素的值赋给e
qLelemLle
gth1
表尾元素的位置
forppqpp1p被删除元素之后的元素左移
Lle
gth
表长减1
retur
OK
ListDelete_Sq
算法26
i
tLocateElem_SqSqListLElemTypee
Statuscompar
好听全球资料 返回顶部