第三章 線性表

2021-10-20 20:00:17 字數 2878 閱讀 4281

一、順序表的儲存

#include.h>

using namespace std;

const int maxsize=

100;

typedef int datatype;

typedef struct

seqlist;

二、順序表的操作

初始化順序表

void

initlist

(seqlist *l)

建立順序表

int creatlist

(seqlist*

l,datatype a[

],int n)

//乙個指標,乙個陣列,乙個長度n

if(n>maxsize)

cout<<

"空間不夠,無法建立"

0;i->data[i]

=a[i];l

->length=n;

return1;

}

判空操作

int empty

(seqlist*l)

求長度

int length

(seqlist*l)

遍歷操作

void

printlist

(seqlist*l)

按值查詢

int locate

(seqlist*

l,datatype x)

//x為所查值

按位查詢

int get

(seqlist*

l,int i,datatype*ptr)

//ptr為所查位置

else

插入操作

int insert

(seqlist*

l,int i,datatype x)

//i為插入位置,x為元素

if(i<1||

l->length+

1for(int j=l-

>length;j>=i;j--}l

->data[j]=l

->data[j-1]

;//所有值往後移一位l-

>data[j-1]

=x;l

->length++

;return

1;

刪除操作

int delete

(seqlist *

l,int i,datatype *ptr)

//指標用來返回刪除值

if(i<

1||i>l-

>length)

*prt=l-

>data[i-1]

;for

(int j=i;j>length;j++}l

->data[j-1]

=l->data[j]

;//全體左移l-

>length--

;return

1;

三、單鏈表的儲存

typedef int datatype;

typedef struct node

node;

四、單鏈表的操作

單鏈表的初始化

node *

initlist()

判空操作

int empty

(node *first)

遍歷操作

void

printlist

(node *first)

}

求鍊錶的長度

void

printlist

(node *first)

return count;

}

按值查詢

這裡返回的是元素序號

int locate

(node *first,datatype x)

return0;

}

按位查詢

int get

(node *first,int i,datatype *ptr)

//指標傳值

if(p==

null

)else

插入操作

int insert

(node*first,int i,datatype x)

//x為待插入值

if(p==

null

)else

}

頭插法建立單鏈表

node *

creatlist

(datatype a[

], int n)

return first;

}

尾插法

node *

creatlist

(datatype a,

int n)

rear-

>next= null;

/*單鏈表建立完畢,將終端結點的指標域置空*/

return first;

}

第三章線性表

線性表 零個或多個資料元素的有限序列.線性表的順序儲存結構 指的是用一段位址連續的儲存單元依次儲存線性表的資料元素.頭指標 頭指標是指鍊錶指向第乙個節點的指標,若煉表有頭結點,則是指向頭結點的指標.無論鍊錶是否為空,頭指標均不為空.頭指標是鍊錶的必要元素 頭結點 頭結點不是鍊錶的必須元素.頭結點是為...

第三章 線性表(2 鍊錶)

單鏈表結構與順序儲存結構優缺點 簡單的對單鏈表結構和順序儲存結構做對比 儲存分配方式 時間效能 空間效能 1.順序儲存結構用一段連續的儲存單元依次儲存線性表的資料元素。2.單鏈表採用鏈式儲存結構,用一組任意的儲存單元存放線性表的元素。1.查詢 順序儲存結構 o 1 單鏈表 o n 2.查詢和刪除 順...

第三章 線性表 順序儲存結構

線性表 list 零個或多個資料元素的有限序列。若將線性表記為 a1,ai 1,ai ai 1 an 則表中 ai 1 領先於ai ai領先於ai 1,稱ai 1是ai的直接前驅元素,ai 1是ai的直接後繼元素。當i 1,2,n 1時,ai有且僅有乙個直接後繼,當i 2,3,n時,ai有且僅有乙個...