C++單鏈表實現程式
單連結串列是一種資料結構,它由使用自引用結構建立的節點組成。每個節點包含兩個部分,即資料和指向下一個連結串列節點的引用。只需要指向第一個連結串列節點的引用即可訪問整個連結串列。這被稱為頭節點。連結串列中的最後一個節點不指向任何節點,因此該部分儲存NULL。
實現單鏈表的程式如下所示。
示例
#include <iostream> using namespace std; struct Node { int data; struct Node *next; }; struct Node* head = NULL; void insert(int new_data) { struct Node* new_node = (struct Node*) malloc(sizeof(struct Node)); new_node->data = new_data; new_node->next = head; head = new_node; } void display() { struct Node* ptr; ptr = head; while (ptr != NULL) { cout<< ptr->data <<" "; ptr = ptr->next; } } int main() { insert(3); insert(1); insert(7); insert(2); insert(9); cout<<"The linked list is: "; display(); return 0; }
輸出
The linked list is: 9 2 7 1 3
在上面的程式中,結構體Node構成連結串列節點。它包含資料和指向下一個連結串列節點的指標。如下所示。
struct Node {
int data;
struct Node *next;
};函式insert()將資料插入到連結串列的開頭。它建立一個new_node並將數字插入到new_node的資料欄位中。然後new_node指向頭節點。最後,頭節點就是new_node,即連結串列從此開始。如下所示。
void insert(int new_data) {
struct Node* new_node = (struct Node*) malloc(sizeof(struct Node));
new_node->data = new_data;
new_node->next = head;
head = new_node;
}函式display()顯示整個連結串列。首先,ptr指向頭節點。然後它不斷地向前移動到下一個節點,直到列印所有節點的資料值。如下所示。
void display() { struct Node* ptr; ptr = head; while (ptr != NULL) { cout<< ptr->data <<" "; ptr = ptr->next; } }
在main()函式中,首先透過呼叫insert()將各種值插入到連結串列中。然後顯示連結串列。如下所示。
int main() {
insert(3);
insert(1);
insert(7);
insert(2);
insert(9);
cout<<"The linked list is: ";
display();
return 0;
}
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP