Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // C++ program to delete a linked list
- #include <bits/stdc++.h>
- using namespace std;
- /* Link list node */
- class Node
- {
- public:
- int data;
- Node* next;
- };
- /* Function to delete the entire linked list */
- void deleteList(Node** head_ref)
- {
- /* deref head_ref to get the real head */
- Node* current = *head_ref;
- Node* next;
- while (current != NULL)
- {
- next = current->next;
- free(current);
- current = next;
- }
- /* deref head_ref to affect the real head back
- in the caller. */
- *head_ref = NULL;
- }
- /* Given a reference (pointer to pointer) to the head
- of a list and an int, push a new node on the front
- of the list. */
- void push(Node** head_ref, int new_data)
- {
- /* allocate node */
- Node* new_node = new Node();
- /* put in the data */
- new_node->data = new_data;
- /* link the old list off the new node */
- new_node->next = (*head_ref);
- /* move the head to point to the new node */
- (*head_ref) = new_node;
- }
- /* Driver code*/
- int main()
- {
- /* Start with the empty list */
- Node* head = NULL;
- /* Use push() to construct below list
- 1->12->1->4->1 */
- push(&head, 1);
- push(&head, 4);
- push(&head, 1);
- push(&head, 12);
- push(&head, 1);
- cout << "Deleting linked list";
- deleteList(&head);
- cout << "\nLinked list deleted";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement