首页
学习
活动
专区
工具
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函数打印链表的所有节点。

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

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

相关·内容

  • Linux C语言链表详细分析

    链表是一种常见的基础数据结构,结构体指针在这里得到了充分的利用。链表可以动态的进行存储分配,也就是说,链表是一个功能极为强大的数组,他可以在节点中定义多种数据类型,还可以根据需要随意增添,删除,插入节点。链表都有一个头指针,一般以head来表示,存放的是一个地址。链表中的节点分为两类,头结点和一般节点,头结点是没有数据域的。链表中每个节点都分为两部分,一个数据域,一个是指针域。说到这里你应该就明白了,链表就如同车链子一样,head指向第一个元素:第一个元素又指向第二个元素;……,直到最后一个元素,该元素不再指向其它元素,它称为“表尾”,它的地址部分放一个“NULL”(表示“空地址”),链表到此结束。

    02
    领券