// 資料元素的資料型別。
struct seqlist
;
seqlist*
sl_create
(int maxlen)
void
sl_free
(seqlist* slist)
// 釋放/刪除 順序表。
// 與sqlst_create()配對。
void
sl_makeempty
(seqlist* slist)
// 置為空表。
intsl_length
(seqlist* slist)
// 獲取長度。
bool
sl_isempty
(seqlist* slist)
// 判斷順序表是否空。
bool
sl_isfull
(seqlist* slist)
// 判斷順序表是否滿。
t sl_getat
(seqlist* slist,
int i)
// 獲取順序表slist的第i號結點資料。
// 返回第i號結點的值。
else
return slist-
>data[i];}
void
sl_setat
(seqlist* slist,
int i, t x)
// 設定第i號結點的值(對第i號結點的資料進行寫)。
else
slist-
>data[i]
=x;}
bool
sl_insat
(seqlist* slist,
int i, t x)
// 在順序表的位置i插入結點x, 插入d[i]之前。
// i 的有效範圍[0,plist->len]。
else
slist-
>data[i]
=x; slist-
>len++;}
}t sl_delat
(seqlist* slist,
int i)
// 刪除順序表plist的第i號結點。
// i的有效範圍應在[0,plist->len)內,否則會產生異常或錯誤。
// 返回被刪除的資料元素的值。
slist-
>len--
;return x;
}int
sl_findvalue
(seqlist* slist, t x)
// 在順序表表中查詢第乙個值為x的結點,返回結點的編號。
// 返回值大於等於0時表示找到值為x的結點的編號,-1表示沒有找到。
intsl_delvalue
(seqlist* slist, t x)
// 刪除第乙個值為x的結點。
// 存在值為x的結點則返回結點編號, 未找到返回-1。}}
void
sl_print
(seqlist* slist)
// 列印整個順序表。
//printf("the slist contains: ");
for(
int i=
0; i
>len; i++
)printf
("\n");
}
資料結構筆記 線性表
思考 怎麼程式設計解決多項式相加問題?1.線性表概念 由同型別資料元素構成的有序序列的線性結構 1.表中元素個數稱為線性表的長度 2.線性表中沒有元素時稱為空表 3.表的起始位置稱為表頭,結束位置稱為表尾。2.線性表的adt描述 3.線性表的順序儲存實現 未測試 include using name...
資料結構 筆記 線性表
定義 由同型別資料元素構成有序序列的線性結構 型別名稱 list 物件集 n n 0 個元素構成的有序序列 操作集 list makeempty 初始化乙個空線性表l elementtype findkth int k,list l 根據位序k,返回相應元素 int find elementtype...
資料結構筆記 線性表
線性表篇 線性表有兩種物理儲存結構 順序儲存結構和鏈式儲存結構。線性表的順序訪問結構是最簡單以及最常用的線性表的儲存方式 我們用一段位址連續的儲存單元依次儲存線性表中的資料元素,其實就是和陣列一樣 通過佔位的方式將一定空間占有,再把相同資料元素型別的資料元素依次放到空間裡 描述順序表的屬性 1.儲存...