struct()第一个数字大于secound

时间:2016-10-17 22:14:38

标签: c++

所以我为我的列表创建了一个删除功能。 如何创建一个检查功能 -

如果第一个列表编号大于下一个,如果是,则删除它并将其移回?

Input : 1 3 4 2 4 5 2 1 33

Output: 1 3 2 4 5 1 33

void remove(node *&head, node *&last){
    if(isempty(head)){
        cout << " Saraksts ir tuksh!"<<endl;    
    } else if (head ==last) {
        delete head;
        head == NULL;
        last == NULL;
    } else {
        node * temp = head;
        head = head->next;
        delete temp;
    }
}

1 个答案:

答案 0 :(得分:0)

对于单链接列表,您应该维护指向上一个节点的指针。这样,您可以将前一个节点的数据与当前节点(当前节点)进行比较。

要重新排列顺序,请交换链接字段。

我建议在使用链接列表操作时始终绘制节点图片,例如:

+---+     +---+     +---+  
| 5 | --> | 6 | --> | 7 |  
+---+     +---+     +---+