使用 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+ 浏览量

开启你的 职业生涯

完成课程获得认证

立即开始
广告

© . All rights reserved.