順序表靜態儲存
陣列空間由編譯器固定分配,程式執行結後此空間自動釋放,可按照陣列元素的下標(位置)訪問任一元素的值,所化費時間相同。一旦資料空間佔滿,再加入新的資料就將產生
溢位,此時儲存空間不能擴充,就會導致程式停止工作
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...