所以我为我的列表创建了一个删除功能。 如何创建一个检查功能 -
如果第一个列表编号大于下一个,如果是,则删除它并将其移回?
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;
}
}
答案 0 :(得分:0)
对于单链接列表,您应该维护指向上一个节点的指针。这样,您可以将前一个节点的数据与当前节点(当前节点)进行比较。
要重新排列顺序,请交换链接字段。
我建议在使用链接列表操作时始终绘制节点图片,例如:
+---+ +---+ +---+
| 5 | --> | 6 | --> | 7 |
+---+ +---+ +---+