21xrx.com
2024-09-20 00:23:16 Friday
登录
文章检索 我的文章 写文章
C++单链表程序代码
2023-06-29 13:44:22 深夜i     --     --
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++单链表。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复