資料結構 順序表

2021-08-07 22:02:44 字數 1707 閱讀 6403

順序表靜態儲存

陣列空間由編譯器固定分配,程式執行結後此空間自動釋放,可按照陣列元素的下標(位置)訪問任一元素的值,所化費時間相同。一旦資料空間佔滿,再加入新的資料就將產生

溢位,此時儲存空間不能擴充,就會導致程式停止工作

1 //順序表靜態儲存

2 #define maxsize 100

3 typedef int datatype;

4 typedef struct

5 seqlist;

9 10

順序表動態儲存

通過動態儲存分配的語句malloc或new動態分配的,一旦資料空間佔滿,可以另外再分配一塊更大的空間,用以代換原來的儲存空間,而達到擴充儲存陣列空間的目的

11 //順序表動態儲存

12 #define initsize 100

13 typedef int datatype;

14 typedef struct

15 seqlist;

19 //順序表主要操作實現

20 //順序表的動態儲存表示的初始化處理

21 void initlist(seqlist &l)

22 29 l.maxsize = initsize;

30 l.n = 0;

31 }

32 //清空順序表

33 void clearlist(seqlist& l)

34

37 //計算順序表長度

38 void length(seqlist)

39 42 //判表空否

43 int ieempty(seqlist& l)

44 47 //判表滿否

48 int is full(seqlist)

49 52 //順序表查詢演算法

53 int search(seqlist& l, int i)// 在順序表查詢與值x匹配的位置,查詢成功則函式返回該元素的位置,否則函式返回0

54 60 return 0;//查詢失敗

61 }

62 //順序表定位演算法

63 int locate(seqlist& l, int i)//函式返回第i個元素的位置

64 101 l.data[i-1] = x;//插入

102 l.n++; //表長度加1

103 return 1; //插入成功

104 }

105 //順序表刪除演算法

106 int remove(seqlist& l, int i, datatype& x)

107

120

121

122

123

124 //舉例

125 //集合的並運算的實現

126 void merge(seqlist& la, seqlist& lb)

127

139 }

140 }

141 //集合的交運算的實現

142 void intersection(seqlist& la, seqlist& lb)

143

155         else

156             i++;

157     }

158 }

資料結構 順序表

順序表的特徵 1由唯一的表名標識 2佔據一塊連續的儲存空間 3資料順序存放,元素之間有先後關係 定義動態的順序表 define maxsize 100 typedef struct sqlist 這個結構體型別存放的是順序表的資訊和順序表的資料 初始化順序表 void initsqlist sqli...

資料結構 順序表

順序表示最簡單的乙個資料結構,直接貼 吧,因為比較簡單。include include typedef struct sqlist sqlist void initlist sqlist l l length 0 void getelem sqlist l 初始化 l length j printf...

資料結構順序表

include include include include include include include include include include include include include include using namespace std define maxn 100000...