資料結構之單鏈表

2021-10-06 09:25:58 字數 2544 閱讀 5583

linklist.h標頭檔案

typedef

struct node

node;

typedef node* linklist;

//初始化函式

void

initlist

(linklist plist)

;//頭插

bool insert_head

(linklist plist,

int val)

;//尾插

bool insert_tail

(linklist plist,

int val)

;//在plist中查詢關鍵字key,找到返回下標,失敗返回null

node*

search

(linklist plist,

int key)

;//判空

bool isempty

(linklist plist)

;//刪除plist中的第乙個key

bool deleteval

(linklist plist,

int key)

;//獲取資料長度

intgetlength

(linklist plist)

;//輸出所有資料

void

show

(linklist plist)

;//銷毀動態記憶體

void

destroy

(linklist plist)

;//單鏈表逆置

void

reverse

(linklist plist)

;

函式的具體實現:

linklist.cpp檔案

#include

#include

#include

#include

"linklist.h"

**函式的具體實現:*

*/*初始化函式*/

void

initlist

(linklist plist)

/*頭插*/

bool insert_head

(linklist plist,

int val)

//申請乙個新節點

node* p =

(node*

)malloc

(sizeof

(node));

p->data = val;

//將新節點插入鍊錶

p->next = plist->next;

plist->next = p;

return true;

}/*尾插*/

bool insert_tail

(linklist plist,

int val)

//將新節點插入鍊錶

p->next = plist->next;

plist->next = p;

return true;

}/*在plist中查詢關鍵字key,找到返回指標,失敗返回null*/

node*

search

(linklist plist,

int key)

p = p->next;

}return

null;}

/*判空*/

bool isempty

(linklist plist)

/*查詢前驅節點,找到返回指標,失敗返回null*/

static node*

searchprio

(linklist plist,

int key)

}return

null;}

/*刪除plist中的第乙個key*/

bool deleteval

(linklist plist,

int key)

//將p從鍊錶中剔除

node* q = p->next;

//q指向要刪除的節點

p->next = q->next;

free

(q);

q =null

;return true;

}/*獲取資料長度*/

intgetlength

(linklist plist)

return count;

}/*輸出所有資料*/

void

show

(linklist plist)

printf

("\n");

}/*銷毀動態記憶體*/

void

destroy

(linklist plist)

plist->next =

null;}

/*單鏈表逆置*/

void

reverse

(linklist plist)

}

資料結構之單鏈表

date 08 07 06 descript 單鏈表的實現與應用 public class linlist public node gethead 定位函式 public void index int i throws exception if i 1 current head.next int j...

資料結構之單鏈表

鍊錶 儲存結構的一種,包含兩個部分,資料域和指標域,相對於順序儲存結構來說,插入和刪除的演算法時間複雜度只為o 1 定義 定義 typedef struct node linklist linklist,指標指向每乙個元素 typedef struct nodenode 以下為簡單的c語言實現 in...

資料結構之單鏈表

由於順序表再插入或者刪除時需要移動大量資料,並且如果表比較大,會比較難分配連續的儲存空間導致儲存資料失敗。因此可以採用鍊錶結構,鍊錶結構是一種動態儲存分配的結構形式,可以根據需要動態的申請所需的儲存單元。鍊錶又分為單鏈表,雙向鍊錶,以及單迴圈鍊錶,多重鏈的迴圈鍊錶。本文先介紹單鏈表。典型的單鏈表結構...