使用 C++ 編寫程式,在給定的單鏈表開頭插入一個節點。


連結串列是一種線性資料結構,它有多個節點相互連線。每個節點包含兩個欄位:資料欄位和下一個節點的地址。

假設我們給定一個單鏈表,任務是在給定連結串列的開頭插入一個節點。例如,

輸入-1 − 1 → 2 → 3 → 4

在給定連結串列的頭部或開頭插入“5”。

輸出 − 5 → 1 → 2 → 3 → 4

說明 − 在連結串列開頭插入節點後,它將列印連結串列為 5 → 1 → 2 → 3 → 4。

解決此問題的方法

最初,我們給定一個包含節點的連結串列。每個節點都包含資料和指向下一個節點的地址。

由於我們已經建立了一個節點,因此我們將建立一個函式,該函式將以頭節點的地址和我們必須在連結串列開頭插入的資料作為引數,並在開頭插入資料。現在將頭指標指向新插入的節點。

  • 函式 insertAthead(node*&head, int data) 獲取頭節點的地址以及我們必須插入的資料。

  • 建立一個新節點並將資料插入其中。

  • 將頭指標移動到新建立的節點。

  • 列印連結串列。

示例

#include<iostream>
using namespace std;
class node{
   public:
      int data;
      node*next;
      node(int d);
      data=d;
      next= NULL;
   }
};
void insertAthead(node*&head, int data){
   node*n= new node(data);
   n->next= head;
   head= n;
}
void print(node*head){
   while(head!=NULL){
      cout<<head->data<<"->";
      head= head->next;
   }
}
int main(){
   node*head= NULL;
   insertAthead(head,5);
   insertAthead(head,2);
   insertAthead(head,8);
   insertAthead(head,3);
   print(head);
}

輸出

執行以上程式碼將生成以下輸出:

3→ 8→ 2→ 5 →

在連結串列開頭插入節點 3、8、2 和 5,它將生成輸出:− 3→ 8→ 2→ 5 →。

更新於: 2021年2月5日

7K+ 瀏覽量

開啟你的 職業生涯

完成課程獲得認證

立即開始
廣告