21xrx.com
2024-12-22 22:53:23 Sunday
登录
文章检索 我的文章 写文章
C++使用尾插法建立单链表完整代码
2023-07-07 19:44:31 深夜i     --     --
C++ 尾插法 单链表 建立 完整代码

C++是一门强大的编程语言,它的语法简单而又灵活,可以用来处理各种各样的数据结构。其中,单链表是一种常用的数据结构,可以有效地管理数据,提高程序的运行效率。接下来,我们就来介绍一种使用尾插法建立单链表的完整代码。

在C++中,单链表可以通过结构体来定义。首先,我们需要定义一个结构体来存储链表的节点信息,包括节点的值和下一个节点的指针。代码如下:


struct ListNode {

  int val;

  ListNode* next;

};

接下来,我们就要使用尾插法来建立单链表。尾插法是将新节点插入到链表的末尾,因此需要维护一个指向链表尾部的指针。具体实现步骤如下:

1. 定义链表头和尾指针。


ListNode *head = NULL;

ListNode *tail = NULL;

2. 初始化链表头指针和尾指针。


head = new ListNode;

tail = head;

tail->next = NULL;

3. 循环读入数据,并用尾插法建立链表。


int n; // 数据个数

cin >> n;

for(int i=0; i<n; i++) {

  int x; // 读入数据

  cin >> x;

  ListNode *node = new ListNode; // 创建新节点

  node->val = x; // 节点的值为输入数据

  node->next = NULL; // 将新节点的next指针置为空

  tail->next = node; // 尾指针的next指针指向新节点

  tail = node; // 更新尾指针的位置

}

4. 输出链表中的数据。


ListNode *p = head->next; // 链表的第一个节点

while(p != NULL)

  cout << p->val << " ";

  p = p->next;

完整的代码如下:


#include <iostream>

using namespace std;

struct ListNode {

  int val;

  ListNode* next;

};

int main() {

  ListNode *head = NULL;

  ListNode *tail = NULL;

  head = new ListNode;

  tail = head;

  tail->next = NULL;

  int n; // 数据个数

  cin >> n;

  for(int i=0; i<n; i++) {

    int x; // 读入数据

    cin >> x;

    ListNode *node = new ListNode; // 创建新节点

    node->val = x; // 节点的值为输入数据

    node->next = NULL; // 将新节点的next指针置为空

    tail->next = node; // 尾指针的next指针指向新节点

    tail = node; // 更新尾指针的位置

  }

  ListNode *p = head->next; // 链表的第一个节点

  while(p != NULL)

    cout << p->val << " ";

    p = p->next;

  

  return 0;

}

以上就是使用C++尾插法建立单链表的完整代码。通过使用这种方法,我们可以方便地建立、操作和管理单链表,提高程序的效率与可读性。

  
  

评论区

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