資料結構(C 鍊錶

2021-10-08 16:45:52 字數 2254 閱讀 9744

鍊錶結構體的定義:

// struct ndoe

typedef

struct node

node,

*pnode;

頭插法插入結點:

1.建立頭結點,並分配空間

2.建立新結點,新節點->next指向上乙個節點,頭結點->next指向新結點

pnode list_headinsert

(pnode &head)

pnode new_node;

head-

>next =

null

;// initialize head node

int qon;

cout <<

"please enter the quantity of numbers:"

; cin >> qon;

for(

int i =

0; i < qon; i++

) new_node-

>data = x;

new_node-

>next = head-

>next;

head-

>next = new_node;

}return head;

}

尾插法插入節點:

1.建立頭結點,並分配空間

2.建立新結點,給新結點->data賦值。設定新結點next為null,最後乙個節點的next指向新節點

pnode list_tailinsert

(pnode &head)

pnode new_node;

pnode ptr;

head-

>next =

null

;// initialize head node

ptr = head;

int qon;

cout <<

"please enter the quantity of numbers:"

; cin >> qon;

for(

int i =

0; i < qon; i++

) new_node-

>data = x;

new_node-

>next =

null

; ptr-

>next = new_node;

ptr = ptr-

>next;

// point ro the next node

}return head;

}

釋放空間:

void

free_lnklst

(pnode &head)

}

按序號搜尋:

pnode serch_order

(pnode head,

int i)

// search by serial number

return p;

}

按值搜尋

//search by value return index

intserch_value

(pnode head,

int number)

return i;

}

插入結點:

1.建立新結點

2.新結點指向原ith結點,ith的前乙個節點指向新結點。

void

insert

(pnode head,

int ith)

刪除節點:

void

delete_node

(pnode head,

int ith)

求表長:

int

dertermin_len_lnklst

(pnode head)

return len;

}

資料結構 鍊錶(C )

typedef int rank define listnodeposi t listnode template class listnode listnode t e,listnodeposi t p null,listnodeposi t s null data e prenode p back...

C 資料結構 鍊錶

理論基礎 鍊錶是用一組任意的儲存單元來儲存線性表中的資料元素。如果結點的引用域只儲存該結點直接後繼結點的儲存位址,則該鍊錶叫單鏈表 singly linked list 單鏈表由頭引用h唯一確定。頭引用指向單鏈表的第乙個結點,也就是把單鏈表第乙個結點的位址放在h中。c 實現 1介面 引用線性表的介面...

C 資料結構 鍊錶

資料結構2 鍊錶.cpp 此檔案包含 main 函式。程式執行將在此處開始並結束。include pch.h include using namespace std typedef struct lnode 定義乙個節點 list void createla list l,int n,int len...