在C++中,刪除單鏈表中的節(jié)點通常涉及以下步驟:
下面是一個示例代碼,演示如何刪除單鏈表中的節(jié)點:
#include <iostream>
// 定義鏈表節(jié)點結(jié)構(gòu)
struct Node {
int data;
Node* next;
Node(int val) : data(val), next(nullptr) {}
};
// 刪除鏈表節(jié)點函數(shù)
void deleteNode(Node* head, int val) {
Node* prev = head;
Node* current = head->next;
while (current != nullptr) {
if (current->data == val) {
prev->next = current->next;
delete current;
break;
}
prev = current;
current = current->next;
}
}
// 打印鏈表函數(shù)
void printList(Node* head) {
Node* current = head->next;
while (current != nullptr) {
std::cout << current->data << " ";
current = current->next;
}
std::cout << std::endl;
}
int main() {
// 創(chuàng)建鏈表
Node* head = new Node(0);
head->next = new Node(1);
head->next->next = new Node(2);
head->next->next->next = new Node(3);
std::cout << "原始鏈表:";
printList(head);
// 刪除節(jié)點
deleteNode(head, 2);
std::cout << "刪除節(jié)點后的鏈表:";
printList(head);
return 0;
}
以上代碼首先定義了一個鏈表節(jié)點結(jié)構(gòu)Node
,然后實現(xiàn)了刪除節(jié)點的函數(shù)deleteNode
和打印鏈表的函數(shù)printList
。在main
函數(shù)中創(chuàng)建了一個包含四個節(jié)點的鏈表,然后刪除了值為2的節(jié)點,最后打印出刪除節(jié)點后的鏈表。