資料結構 線性表

2021-09-26 14:06:58 字數 1311 閱讀 6660

線性表
學習

不想學習

還是學習吧!!!

早起很痛苦!!!

學習不能使人快樂!!!

線性表內容還是算少的!!兩天整理完了!!!

1.線性表的順序儲存

typedef structsqlist;//順序表的型別定義

#define initsize 100 //表長度的初始定義

typedef structseqlist;//動態分配陣列順序表的型別定義

2.插入操作(在第i(1<=i<=l.length+1)個位置插入新元素e

bool listinsert(sqlist &l,int i,elemtype e) 

3.刪除操作(刪除順序表中第i(1<=i<=l.length+1)個位置的元素

bool listdelete(sqlist &l,int i,elemtype &e)

lnode,*linklist;

2.建立單鏈表

//頭插法建立單鏈表(讀入的資料的順序與生成的鍊錶中的元素的順序是相反的) 

//每個結點插入的時間為o(1),設單鏈表長為n,則總時間複雜度為o(n)

linklist list_headinsert(linklist &l)

return l;

} //尾插法,將新結點插入到當前鍊錶的表尾,增加乙個尾指標,使其始終指向當前鍊錶的尾結點

linklist list_tailinsert(linklist &l)

r->next=null;//尾結點指標置空

return l;

}

3.按序號查詢結點值

lnode *getelem(linklist l,int i) 

return p;//返回第i個結點的指標,如果i大於表長,p=null,直接返回p即可

}

4.按值查詢表結點

lnode *locateelem(linklist l,elemtype e)

資料結構(線性表)

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