如何设置指向链接列表的指针

时间:2015-10-25 05:46:16

标签: c++ pointers linked-list stack

有没有办法设置指向整个链表的指针?

我需要能够将链表作为元素放入堆栈中。 (堆栈也是使用节点作为元素的链接列表 - 因此链接列表中的链接列表)

我只是想知道是否有人可以提供一个如何做到这一点的例子。

谢谢!

(仅限c ++)

1 个答案:

答案 0 :(得分:0)

通常,当我使用链接列表并希望将列表作为一个整体引用时,我会创建一个名为 p_list p_head 的变量并将其设置为指向链表中的第一个节点。

    node* p_list = NULL;

    // Adding a new node

    // Create the node
    node* p_node_to_add = new node;
    // Set the value of the node;
    node* p_node_to_add->val = 0;
    // Point it to the rest of the linked list
    p_node_to_add->p_next_node = p_list;
    // Update the main pointer
    p_list = p_node_to_add;

    // Traversing through the linked list:
    node* p_current = p_list; // our list's "iterator"
    while(p_current != NULL)
    {
        // do something with the data in the current node
        std::cout << p_current->val << endl;
        // move on to the next node
        p_current = p_current->p_next_node;
    }