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

如何将int数组赋值给linkedlist struct?

将int数组赋值给linkedlist struct的方法有很多种,下面给出其中一种实现方式:

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

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

void arrayToLinkedList(int arr[], int size, Node** head) {
    *head = nullptr;
    Node* tail = nullptr;
    for (int i = 0; i < size; i++) {
        Node* newNode = new Node();
        newNode->data = arr[i];
        newNode->next = nullptr;
        
        if (*head == nullptr) {
            *head = newNode;
            tail = newNode;
        } else {
            tail->next = newNode;
            tail = newNode;
        }
    }
}

void printLinkedList(Node* head) {
    Node* current = head;
    while (current != nullptr) {
        std::cout << current->data << " ";
        current = current->next;
    }
    std::cout << std::endl;
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    
    Node* head = nullptr;
    arrayToLinkedList(arr, size, &head);
    
    std::cout << "Linked List: ";
    printLinkedList(head);
    
    return 0;
}

在这个示例中,我们定义了一个名为Node的结构体,其中包含一个整数数据成员和一个指向下一个节点的指针成员。然后,我们编写了一个arrayToLinkedList函数,它接受一个整数数组、数组大小和一个指向指针的指针(用于存储链表的头指针),并将整数数组的元素逐个创建为节点,并按顺序链接它们。最后,我们编写了一个printLinkedList函数来打印链表中的元素。

在main函数中,我们定义了一个整数数组arr和其大小。然后,我们声明了一个指向Node的指针head,并将其初始化为nullptr。接下来,我们调用arrayToLinkedList函数,将arr、大小和head的地址作为参数传递。最后,我们调用printLinkedList函数,打印链表中的元素。

这种方法通过动态内存分配和节点链接的方式,将整数数组的元素赋值给linkedlist struct。需要注意的是,为了避免内存泄漏,应该在使用链表后手动释放内存,即在不再需要链表时,使用delete运算符释放每个节点的内存。

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

相关·内容

领券