線性表及其基本運算
一。線性表(linear_list)
線性表是n個數據元素的有限序列
記為:L = (?a1,a2,...,an? )

數據元素之間的關系是:
a(i-1)領先于ai, ai領先于a(i+1)
稱a(i-1)是ai的直接前驅元素;a(i+1)是ai的直接后繼元素
除a1外,每個元素有且僅有一個直接前驅元素,
除an外,每個元素有且僅有一個直接后繼元素,
?
當n = 0 時,稱為空表。

線性表是最常用且最簡單的一種數據結構
它的形式化定義為:linear_list = ( D ,R )
其中,D = {ai? | ai 屬于 D0, i = 1,2,...,n,??? n>?0}

R = {? N },N ={??<a(i - 1) ,ai ?> } | a(i - 1),ai屬于D0,i = 2,3,...,n}
D0為某個數據對象,N是一個序偶的集合,
它表示線性表中數據元素之間的相鄰關系


二。基本運算
INITIATE( L )?? ? 初始化操作???????? 設定一個空的線性表 L

LENGTH( L )??? ?求長度函數??????? ???函數值為線性表L中數據元素的個數

GET(L , i ?)???? 取元素函數??????? ?1 <= i <=LENGTH( L )時,返回L中的第i個數據元素,
?????????????????????????????????????????????????????????否則為空元素NULL, i稱為該數據元素在L中的? 位序

PRIOR(L , elm)? 求前驅函數??? elm為L中的一個數據元素,若它的位序大于1,
?????????????????????????????????????????????????????????則函數值為elm前驅,否則為NULL
NEXT(L ,elm)? 求后繼函數???? 若elm的位序小于表長,則函數值為elm的后繼,否則為NULL

LOCATE( L , x )???? 定位函數?????????給定值x,若x不在表中,則返回0,否則,
????????????????????????????????????????????????????????????返回x在表中第一次出現時的位序

INSERTE ( L , i , b)????????前插操作????????????在第i個元素之前插入新元素b,
????????????i取值范圍為:? 1 <= i <=(n+1); i = ( n + 1 )表示在表尾插入,n為表長

DELETE(L ,i )?? 刪除操作??? 刪除線性表L中的第i 個元素,? 1<= i<= n

EMPTY ( L , i )???? 判空表函數????? 若L為空表,則返回布爾值"true",
?????????????????????????????????????????????????????????否則返回"false"

CLEAR (L)?????? 表置空操作??????????將L置為空表