資料結構學習筆記(2)線性表

2021-05-24 01:22:32 字數 1706 閱讀 7079

1 ================

2 線性表及其基本運算:

3     1。線性表(linear_list),n個資料元素的有限序列,記為:l=(a1, a2, ..., an)。

4     定義:linear_list=(d,r)

5           d= d0表示相同的資料物件。

6           r=, n=

7 8     2.基本運算

9     void initiate(l) 初始化操作

10     int length(l) 求長度

11     elm get(l, i) 若i∈[1,n]返回乙個第i個資料元素,i叫l的位序。

12     elm prior(l, elm) 求前驅

13     elm next(l, elm) 求後繼

14     int locate(l, x) 返回0,或第一次出現的位序。

15     void inserte(l, i, b)  前插操作i∈[1,n+1]

16     void delete(l, i) 刪除操作i∈[1,n]

17     beloon empty(l) 判空操作

18     void clear(l) 置空表操作

19 20     3.例子

21     (1)求兩個集合的並,即a=a∪b

22         i.依次從lb中取出資料d。

23         ii.判度d在la中是否存在。

24         iii.若不存在,則插入到la中。

25 26         //歸併兩個集合la, lb

27         linear_list a∪b(linear_list la, linear_list lb)

38                 ++n;

39             }

40             return la;

41         }

42 43

44         //歸併兩個有序線性表(不含有相同元素)

45         i.安順序分別取la,lb中的元素得到較小的插入lc,la指標後移,lb指標不動,再次

46         比較,這樣反覆進行插入。如果比較兩個值相等,同時移動兩個指標。直到某乙個

47         表結束。

48         ii.

49         iii.

50         iv.

51         liear_list aub(liear_list la, liear_list lb, liear_list lc)else if(get(la, a) == get(lb, b))else

69             }

70             while(a < length(la))

75             while(b < length(lb))

80             return lc;

81         }

82         /*演算法分析:語句頻度:length(la)+length(lb)-相同元素的個數

83          *時間複雜度:o(length(la)+length(lb))

84          *

85          */

86

資料結構學習 線性表(2)

編寫乙個程式exp2 2.cpp,實現單鏈表的各種基本運算 假設單鏈表的元素型別為char 並在此基礎上完成如下功能 1 初始化單鏈表h 2 採用尾插法依次插入元素a,b,c,d,e 3 輸出單鏈表h 4 輸出單鏈表h長度 5 判斷單鏈表h是否為空 6 輸出單鏈表h的第3個元素 7 輸出元素a的位置...

資料結構學習筆記 線性表

線性表是零個或多個資料元素的有限序列。線性表的資料物件集合為。其中,除第乙個元素a1外,每乙個元素有且只有乙個直接前驅元素,除了最後乙個元素an外,每個元素有且只有乙個直接後繼元素。資料元素之間的關係是一對一的關係 線性表的順序儲存結構指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。簡單的說...

資料結構學習 2 線性結構之線性表

線性結構的基本特點是除第乙個元素無直接前驅 最後乙個元素無直接後繼之外,其他每個資料元素都有乙個前驅和後繼。像乙個線段一樣,有頭有尾的排排坐 線性表 有n個資料特性相同的元素構成的有限序列稱為線性表。n為線性表的長度,n 0時稱為空表。對於非空的線性表,其特點有 存在唯一的乙個被稱為 第乙個 的資料...