21xrx.com
2025-03-24 16:56:28 Monday
文章检索 我的文章 写文章
C++单链表程序代码
2023-06-29 13:44:22 深夜i     11     0
C++ 单链表 程序代码 链表节点 节点操作

C++是一种流行的编程语言,许多编程新手都使用这种语言来学习编程。在C++中,单链表是一种基本的数据结构,它可以存储数据并允许我们对数据进行操作。本文将介绍C++单链表程序的代码,供初学者学习使用。

单链表数据结构的定义

在C++中,单链表可以通过结构体来实现。下面是一个单链表的节点结构体定义:

struct Node {
  int data;
  Node* next;
};

这个结构体中包含了一个整型变量data表示该节点存储的数据以及一个指向下一个节点的指针next。

创建单链表

C++中创建单链表的方法很简单,只需要定义一个头节点指针即可。下面是C++创建单链表的示例代码:

Node* head = new Node;
head->next = NULL;

这段代码定义了一个名为head的指向节点的指针。由于此时链表还未创建,所以链表中没有节点。代码中的第二行将head的next指针设置为NULL,这意味着此时链表为空。

向单链表中添加节点

向单链表中添加节点的方法很简单,只需要将新节点插入到链表的任何位置即可。下面是一个向单链表尾部插入节点的示例代码:

void addNode(int value, Node* head) {
  Node* newNode = new Node;
  newNode->data = value;
  newNode->next = NULL;
  Node* pNode = head;
  while (pNode->next != NULL)
    pNode = pNode->next;
  
  pNode->next = newNode;
}

这个函数需要两个参数,一个是要插入的值,另一个是链表的头节点指针。该函数首先创建了一个值为value的新节点,并将newNode的next指针设置为NULL。然后定义一个指针pNode,用于遍历链表直到尾节点。最后将pNode的next指针设置为newNode,这意味着新节点现在成为链表的最后一个节点。

遍历单链表

遍历单链表是对链表进行操作的基础。下面是一个遍历链表并显示每个节点值的示例代码:

void traverse(Node* head) {
  Node* pNode = head->next;
  while (pNode != NULL)
    cout << pNode->data << " ";
    pNode = pNode->next;
  
}

这个函数需要一个参数,即链表的头节点指针。该函数首先指向了下一个节点,如果该节点不为空,就打印该节点的值。然后指针pNode指向下一个节点,直到链表结束。

删除节点

删除节点是单链表中的另一个常用操作,可以通过删除节点来对链表进行修改。下面是一个删除特定节点的示例代码:

void deleteNode(int value, Node* head) {
  Node* pNode = head;
  while (pNode->next != NULL && pNode->next->data != value)
    pNode = pNode->next;
  
  if (pNode->next != NULL) {
    Node* temp = pNode->next;
    pNode->next = pNode->next->next;
    delete temp;
  }
}

这个函数需要两个参数,一个是要删除的值,另一个是链表的头节点指针。该函数首先遍历整个链表,直到找到要删除的节点的前一个节点。然后将当前节点的next指针指向要删除节点的下一个节点,并删除要删除的节点。

总结

这篇文章介绍了C++单链表程序代码。它包括创建链表、向链表中添加节点、遍历链表和删除节点等常用操作。希望这篇文章能帮助初学者更好地了解和使用C++单链表。

  
  

评论区