ADT List{
數據對象:D={ai|ai=ElemSet,i=1,2,..,n,n≥0}
數據關系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,...,n}
基本操作:
IniList(&L)操作結果:構造一個新的線性表L。
DestroyList(&L)操作結果:銷毀線性表
ClearList(&L)操作結果:將L重置為空表
ListEmpty(L)操作結果:若L為空表,則返回TURE,否則返回FALSE
ListLength(L)操作結果:返回L中數據元素個數
GetElem(L,i,&e)初始條件:線性表已存在,1≤i≤ListLength(L)
操作結果:用e返回L中第i個數據元素的值
LocateElem(L,e,compare())操作結果:返回L中第一個與e滿足關系compare()的數據元素的位序。若這樣的數據元素不存在,則返回結果為0.
PriorElem(L,cur_e,&pre_e)若cur-e是L的數據元素,且不是第一個,則用pre_e返回它的前驅,否則操作失敗,pre_e無定義
NextElem(L,cur_e,&text_e)若cur_e是L的數據元素,且不是最后一個,則用next_e返回它的后繼,否則操作失敗,next_e無定義
ListInsert(&L,i,e)初始條件:線性表已存在,1≤i≤ListLength(L)+1
操作結果:在L中第i個位置之前插入新的數據元素e,L的長度加1
ListDelete(&L,i,&e)初始條件: 線性表存在且非空,1≤i≤ListLength(L)
操作結果:刪除L的第I個數據元素,並用e返回其值,L的長度減一
ListTravarse(L,visit())操作結果:依次對L的每個數據元素調用函數visit().一旦visit()失敗,則操作失敗。
}ADT List
