Computer >> Máy Tính >  >> Lập trình >> C ++

Viết hàm xóa danh sách liên kết trong lập trình C ++

Tại đây, chúng tôi sẽ tạo một hàm xóa lần lượt tất cả các phần tử của danh sách liên kết.

Trong c / c ++, không có chức năng cụ thể nào để thực hiện tác vụ này nhưng trong java, tính năng thu gom rác tự động được thực hiện để dễ dàng xóa danh sách liên kết.

Bây giờ, hãy xem việc triển khai chương trình này,

Ví dụ

#include <iostream>
using namespace std;
class Node{
   public:
   int data;
   Node* next;
};
void deleteLinkedList(Node** head_ref){
   Node* current = *head_ref;
   Node* next;
   while (current != NULL){
      cout<<current->data<<"\t";
      next = current->next;
      free(current);
      current = next;
   }
   *head_ref = NULL;
}
void push(Node** head_ref, int new_data){
   Node* new_node = new Node();
   new_node->data = new_data;
   new_node->next = (*head_ref);
   (*head_ref) = new_node;
}
int main(){
   Node* head = NULL;
   push(&head, 25);
   push(&head, 10);
   push(&head, 5);
   push(&head, 90);
   push(&head, 68);
   cout<<"Elements of linked list : ";
   deleteLinkedList(&head);
   cout << "\nLinked list deleted";
}

Đầu ra

Elements of linked list : 68 90 5 10 25
Linked list deleted