順序表特點:
優勢: 儲存密度高,可以隨機訪問。
缺點:1) 要求系統可以提供一片連續的儲存空間,
2) 會出現成片移動的現象。
3) 資料的個數固定。
#include
#define max 16
typedef
int data_t;
typedef
struct
seqlist_t;
//建立空順序表
seqlist_t *
creat_empty_sqlist()
//判斷順序表是否為空:是空:返回1,沒空,返回0.
intempty_sqlist
(seqlist_t *p)
//判斷表是否滿:是滿:返回1.沒滿,返回0
intfull_sqlist
(seqlist_t *p)
//清空順序表
void
clear_sqlist
(seqlist_t *p)
//求表長度。(存放有效資料的個數)
intlength_sqlist
(seqlist_t *p)
//在指定位置插入資料。
intinsert_sqlist
(seqlist_t *l,data_t x,
int pos)
for(i=l->last-
1; i>=pos-
1;i--
) l->data[pos-1]
= x;
l->last++
;return1;
}//刪除指定位置上的資料。
intdelete_sqlist
(seqlist_t *l,
int pos)
for(i=pos-
1; ilast ;i++
) l->last--
;return1;
}//查詢表中是否存在值為 value 的資料。
intsearch_sqlist
(seqlist_t *l,data_t value)
}return0;
}//列印順序表。
void
print_array
(seqlist_t *l)
//測試以上函式是否好用。
intmain()
資料結構(線性表)
1.試寫一演算法,在無頭結點的動態單鏈表上實現線性表操作insert l,i,b 並和在帶頭結點的動態單鏈表上實現相同操作的演算法進行比較。status insert linklist l,int i,int b 在無頭結點鍊錶l的第 i個元素之前插入元素 belse insert 2.已知線性表中...
資料結構 線性表
參考 一 線性表 順序表 單鏈表 迴圈鍊錶 雙鏈表 順序表 1.表的初始化 void initlist seqlist l 2.求表長 int listlength seqlist l 3.取表中第i個結點 datatype getnode l,i 4.查詢值為x的結點 5.插入 具體演算法描述 v...
資料結構 線性表
線性表是最基礎的一種資料結構,這樣的資料物件包含的資料元素具有一對一的前驅後繼關係。按其邏輯儲存方式的不同可分為兩類線性表 順序表和鏈式表。其中鏈式表又可分為線性鍊錶 迴圈鍊錶和雙向鍊錶。下面分別介紹下這幾種線性表的資料結構 1.順序表 typedef struct sqlist 插入演算法 i到n...