嚴蔚敏資料結構之線性表的基本操作

2021-10-09 22:38:46 字數 2633 閱讀 4170

源自嚴蔚敏老師的教材,最近學校剛上完資料結構中的線性表,敲了下基本操作,沒啥好說的,直接上**,

注:這是我隨手敲的,可能存在一些問題,僅供參考,僅供參考,僅供參考!!!

#include

using

namespace std;

#define list_init_size 100

//線性表儲存空間的初始分配量

#define listincrement 10

//線性表初始儲存空間的分配增量

#define ok 1

#define error 0

#define true 1

#define false 0

typedef

int status;

typedef

int elemtype;

typedef

struct

sqlist;

status initlist_sq

(sqlist &l)

;//初始化線性表

status destroylist

(sqlist &l)

;//銷毀線性表

status clearlist

(sqlist &l)

;//清空線性表

status listempty

(sqlist l)

;//判斷線性表是否為空

status listlength

(sqlist l)

;//返回線性表中的元素個數

status getelem

(sqlist l,

int i, elemtype &e)

;//用e返回l中第i個元素

status locateelem

(sqlist l, elemtype e,

status

(*compare)

(elemtype, elemtype));

status priorelem

(sqlist l, elemtype cur_e, elemtype &pre_e)

;//尋找元素cur_e的前驅元素

status nextelem

(sqlist l, elemtype cur_e, elemtype &next_e)

;//尋找元素cur_e的後繼元素

status listinsert

(sqlist &l,

int i, elemtype e)

;status listdelete

(sqlist &l,

int i, elemtype e)

;//刪除線性表第i個位置的元素,其值用e帶出

intmain()

status initlist_sq

(sqlist &l)

l.length =0;

l.listsize = list_init_size;

return ok;

}status destroylist

(sqlist &l)

status clearlist

(sqlist &l)

status listempty

(sqlist l)

return false;

}status listlength

(sqlist l)

status getelem

(sqlist l,

int i, elemtype &e)

else

}status priorelem

(sqlist l, elemtype cur_e, elemtype &pre_e)

for(

int i =

1; i < l.length; i++)}

return error;

}status nextelem

(sqlist l, elemtype cur_e, elemtype &next_e)

for(

int i =

0; i < l.length -

1; i++)}

return error;

}status listinsert

(sqlist &l,

int i, elemtype e)

if(l.length >= l.listsize)

l.elem = newbase;

l.listsize +

= listincrement;

} l.length++

;for

(int j = l.length -

1; j >= i -

1; j--

) l.elem[i]

= e;

return ok;

}status listdelete

(sqlist &l,

int i, elemtype &e)

e = l.elem[i -1]

;for

(int j = i ; j < l.length; j++

) l.length--

;return ok;

}

C語言 嚴蔚敏資料結構 線性表之鍊錶實現

博主最近在考成都大學皇家電腦科學與技術專業,複習專業課資料結構,正好學習到線性結構中的線性表用鍊錶這種儲存結構來實現。首先,資料結構包括1 資料的操作2 邏輯結構3 儲存結構 資料結構三要素。linklist initlist int i i為鍊錶大小 end next null return he...

資料結構 嚴蔚敏

最近一直想找一本純資料結構的書來學習,找來找去都沒有找到一本合適的書籍,相比之下國內的書籍之中,嚴蔚敏和吳偉民的還算是經典版了,很多國內其他資料結構教材都參考這本書的。但缺點是很多都是偽 對程式設計初學者來說有一些難度,甚至有些考研的同學來看這本書有很多還看不懂,並且裡面也有些容易迷惑人的地方。出於...

資料結構(嚴蔚敏)

說起為什麼重新拿起這本書,著實非常慚愧。是因為面試的時候,第乙個面試官面試完專案之後。第二面試官說我們就當聊聊天,考考資料結構,演算法就好了。結果以乙個問題就把我難住了,這個問題是 雜湊表是什麼?所以我打算花兩天的時間重新把這本書看一遍,並做下筆記,這次我一定會記住。目前,計算機已深入到社會生活的各...