資料結構 線性表

2021-09-26 05:35:03 字數 1403 閱讀 2796

線性表是一種最基本,最簡單,也是最常用的資料結構

線性表(linear list)是資料結構的一種,乙個線性表是由多個資料元素組成的有限序列

操作順序表
順序表是線性表的一種最簡單和最常用的方式,這種方式用一組位址連續的儲存單元一次儲存線性表中的資料元素

#define maxsize 10000; 

//可存放資料最長長度

typedef

struct

list;

/* void listinit(list *l) //初始化順序表

int listlength(list *l) //返回順序表的長度

int listadd(list *l,int data) //在表尾新增資料data

int listinsert(list *l,int i,int data) //在i處插入資料data

int listdelete(list *l,int i) //刪除第i個資料

int listfind(list *l,int i) //查詢第i個元素

*/void

listinit

(list *l)

intlistlength

(list *l)

intlistadd

(list *l,

int data)

intlistinsert

(list *l,

int i,

int data)

intlistdelete

(list *l,

int i)

intlistfind

(list *l,

int i)}if

(ans==

0) cout<<

"找不到!"

<

else

return

true

;}

為了節省**量,這裡只展現核心**,以上**已經過上機編譯且編譯通過

單鏈表
單鏈表就是像一條鍊子一樣,單鏈表的儲存結構為乙個儲存資料乙個儲存下乙個節點的位置的指標,單鏈表的好處是方便操作,刪除資料的時間複雜度是o(1),而順序表的刪除綜合時間複雜度是o(n).單鏈表儲存資料的稱謂資料域,儲存指標的稱謂指標域。

以上就是單鏈表的儲存結構

由於我比較懶,而且單鏈表**較多

so 窩就不展示太多了

窩找到了一篇寫的比我原來想寫的內容寫得更好的文章

傳送門

資料結構(線性表)

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