删除链表的头节点? C++
Removing the head node of my linked list? C++
我有这个编码有点不合常规的链表,我正试图删除它的头部。
这是一个散列table,所以它是一个链表数组
myStruct *pointer = HashTable[i];
1->2->3->NULL
如何删除 1 并使 2 成为列表的头部?
我试过 pointer = pointer->next 但是当我重新显示 table 时,它仍然打印 1->2->3->NULL,而不是 2->3->NULL.
void changethehead(node*&head) {
node *tobedeleted = head;
head = head->next; // head is the next element
delete tobedeleted; // delete the old head
}
我会推荐我为您制作的图像。我认为这比说这样的话更安全:
node *temp = head
head =head->next
delete temp
因为根据您处理指针的方式,您可能 运行 有删除整个列表的风险。这样做,你会失去头脑并确保你拥有列表的其余部分。但是做你喜欢的事!伙计-尝试一下。
我有这个编码有点不合常规的链表,我正试图删除它的头部。
这是一个散列table,所以它是一个链表数组
myStruct *pointer = HashTable[i];
1->2->3->NULL
如何删除 1 并使 2 成为列表的头部? 我试过 pointer = pointer->next 但是当我重新显示 table 时,它仍然打印 1->2->3->NULL,而不是 2->3->NULL.
void changethehead(node*&head) {
node *tobedeleted = head;
head = head->next; // head is the next element
delete tobedeleted; // delete the old head
}
我会推荐我为您制作的图像。我认为这比说这样的话更安全:
node *temp = head
head =head->next
delete temp
因为根据您处理指针的方式,您可能 运行 有删除整个列表的风险。这样做,你会失去头脑并确保你拥有列表的其余部分。但是做你喜欢的事!伙计-尝试一下。