Giả sử ta có một danh sách liên kết đơn với thành phần dữ liệu của một nút là số nguyên và dữ liệu của các Node trong danh sách liên kết là đôi một khác nhau. Hàm Xoa của mình dùng để xóa Node có dữ liệu là số nguyên x.
void Xoa(Node* &pHead, int x){
Node* tam = pHead;
while(tam != NULL){
// xoa Node dau tien.
if(tam == pHead && tam -> data == x){
Node *tam1 = tam;
pHead = tam -> next;
free(tam1);
return;
}
// xoa Node cuoi cung.
else if(tam -> data == x && tam -> next == NULL){
Node* tam1 = tam;
tam = NULL;
free(tam1);
return;
}
// xoa Node bat ky nhung khong phai la cuoi cung va dau tien.
else if(tam -> data == x){
Node* tam1 = tam;
tam = tam -> next;
free(tam1);
return;
}
tam = tam -> next;
}
}
Mình viết thế này đã được chưa vậy. Nhờ các bạn trong diễn đàn cho ý kiến với.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?