首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C++中的链表末尾插入节点

在C++中,链表是一种常见的数据结构,用于存储和组织数据。链表由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。

要在链表的末尾插入一个节点,可以按照以下步骤进行操作:

  1. 创建一个新的节点,并为其分配内存空间。
  2. 将要插入的数据元素赋值给新节点的数据域。
  3. 将新节点的指针域设置为NULL,表示它是链表的最后一个节点。
  4. 如果链表为空,则将新节点设置为链表的头节点。
  5. 否则,遍历链表直到找到最后一个节点。
  6. 将最后一个节点的指针域指向新节点,将新节点连接到链表的末尾。

以下是一个示例代码,演示如何在C++中的链表末尾插入节点:

代码语言:txt
复制
#include <iostream>

// 定义链表节点结构
struct Node {
    int data;
    Node* next;
};

// 在链表末尾插入节点
void insertAtEnd(Node** head, int value) {
    // 创建新节点
    Node* newNode = new Node();
    newNode->data = value;
    newNode->next = NULL;

    // 如果链表为空,将新节点设置为头节点
    if (*head == NULL) {
        *head = newNode;
        return;
    }

    // 遍历链表找到最后一个节点
    Node* current = *head;
    while (current->next != NULL) {
        current = current->next;
    }

    // 将新节点连接到链表的末尾
    current->next = newNode;
}

// 打印链表
void printList(Node* head) {
    Node* current = head;
    while (current != NULL) {
        std::cout << current->data << " ";
        current = current->next;
    }
    std::cout << std::endl;
}

int main() {
    // 创建一个空链表
    Node* head = NULL;

    // 在链表末尾插入节点
    insertAtEnd(&head, 1);
    insertAtEnd(&head, 2);
    insertAtEnd(&head, 3);

    // 打印链表
    printList(head);

    return 0;
}

这段代码定义了一个链表节点结构Node,包含一个整数数据域data和一个指向下一个节点的指针nextinsertAtEnd函数用于在链表末尾插入节点,printList函数用于打印链表的所有节点。

在主函数中,首先创建一个空链表head,然后通过调用insertAtEnd函数在链表末尾插入三个节点,分别包含数据1、2和3。最后,调用printList函数打印链表的所有节点。

这是一个简单的链表末尾插入节点的示例,你可以根据实际需求进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

链表的几种基本操作

链表是一种动态数据结构,他的特点是用一组任意的存储单元(可以是连续的,也可以是不连续的)存放数据元素。链表中每一个元素成为“结点”,每一个结点都是由数据域和指针域组成的,每个结点中的指针域指向下一个结点。Head是“头指针”,表示链表的开始,用来指向第一个结点,而最后一个指针的指针域为NULL(空地址),表示链表的结束。可以看出链表结构必须利用指针才能实现,即一个结点中必须包含一个指针变量,用来存放下一个结点的地址。实际上,链表中的每个结点可以用若干个数据和若干个指针。结点中只有一个指针的链表称为单链表,这是最简单的链表结构。再c++中实现一个单链表结构比较简单。

01
领券