使用C ++,如何在单链表中向后移动节点?

时间:2011-02-26 18:24:20

标签: c++ linked-list

void currentbac()
{
    if (current == first)
        cout << "This is the beginning of the list." << endl;
    else
    {
        list *previous;
        previous = first;
        while (previous->next != current)
        {
            previous = previous->next;
        }
        current = previous;
    }
}

这是我用于向后移动“当前”指针的代码。 我已经在代码开始时将current和first初始化为null。

我真正想要的是将节点向前或向后移动到我的节点列表中。然后我想在必要时插入一个节点。 我知道有双重链接列表,但如果有人可以发布双链表的代码也很好。 但我想知道你是否可以使用单个链表进行移动。

另外

void addmiddle()
{
    if (current == NULL)
    {
        cout << "Current is invalid" << endl;
        return;
    }
    if (current->next == NULL)
       addending();
    else
    {
        list *newlist;
        newlist=new list;
        cout << "Enter your name:" ;
        cin >> newlist->name;
        cout << "Enter your age:" ;
        cin >> newlist->age;
        cout << "Enter your height:" ;
        cin >> newlist->height;
        newlist->next=current->next;
        current->next=newlist;
    }
}

^这是我在列表中间添加节点的代码。我想知道它是如何工作的,显然我无法向后移动“当前”。

0 个答案:

没有答案