資料結構 線性表

2021-09-28 22:23:39 字數 2569 閱讀 9444

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define list_init_size 100

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

using

namespace std;

const

int inf=

0xfffffff

;typedef

long

long ll;

struct sqlist

;bool

initlist

(sqlist &l)

//線性表初始化

return

false;}

bool

destroylist

(sqlist &l)

//線性表的銷毀

return

false;}

bool

clearlist

(sqlist &l)

//線性表的清空

bool

emptylist

(sqlist l)

//判斷線性表是否為空

intlengthlist

(sqlist l)

//返回線性表大小

bool

getelem

(sqlist &l,

int i,

int&e)

//返回線性表中的第i個元素

bool

findelem

(sqlist &l,

int cur_e,

int&_i)

//找到某個元素所在的位置

return

false;}

bool

locateelem

(sqlist &l,

int e,

int&_i)

//返回第乙個和e滿足某個關係(現在以小於為例)的位序

}return

false;}

bool

priorelem

(sqlist &l,

int cur_e,

int&pre_e)

//尋找e的前驅,後繼方法一樣,這兒不再詳細寫了

bool

listinsert

(sqlist &l,

int i,

int e)

else

return

false;}

int*q=

&l.elem[i-1]

;for

(int

*p=&l.elem[l.length-1]

; p>=q; p--)*

(p+1)=

*p;*q=e;

l.length++

;return

true;}

bool

listinsert

(sqlist &l,

int i,

int&e)

//在順序表中刪除第i個資料,並返回這個值

雙向鍊錶,迴圈鍊錶,雙向迴圈鍊錶都差不多,只是多幾個指標,基本操作方法是相似的,所以這裡只寫了單鏈表的部分操作,這兒只寫了常用的基本操作,同樣沒有進行測試,可能會有一些細節錯誤

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

typedef

long

long ll;

const

int inf=

0xfffffff

;struct node};

node creatlist()

//建立鍊錶,輸入內容,假設到輸入-1為結束標記

r->next=

nullptr

;//這一句很重要

return

*head;

}node insert

(node *head,

int k)

//這裡以有序鍊錶為例(遞增)

void

deletelist

(node *head)

//摧毀鍊錶

p=nullptr;}

bool

isempty

(node *head)

//判斷鍊錶是否為空

intgetlen

(node *head)

//返回鍊錶長度

return len;

}

資料結構(線性表)

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