2

Why do we use double-pointer here? In the line void push(Node** head_ref, int new_data).

/* Given a reference (pointer to pointer) 
 to the head of a list and an int, 
 inserts a new node on the front of the list. */
 
void push(Node** head_ref, int new_data) 
{ 
/* 1. allocate node */
Node* new_node = new Node(); 

/* 2. put in the data */
new_node->data = new_data; 

/* 3. Make next of new node as head */
new_node->next = (*head_ref); 

/* 4. move the head to point to the new node */
(*head_ref) = new_node; 
} 
Evg
  • 25,259
  • 5
  • 41
  • 83
TechServe
  • 132
  • 5

0 Answers0