資料結構筆記 線性表

2021-10-01 11:28:38 字數 1826 閱讀 8248

// 資料元素的資料型別。

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.儲存...