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;
}

更新於:2023年9月2日

79K+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.