Why should the **head in insert_atFront function has two asterisk (*)?

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter17: Linked Lists
Section: Chapter Questions
Problem 13PE
icon
Related questions
Question

ANSWER THIS QUESTION

  1. Why should the **head in insert_atFront function has two asterisk (*)?
  2. Why should the searchNode return a pointer?
PRACTICE 6
Test the following additional functions in your program:
void insert_atFront(node **head, int n)
void insert_atPosition(node **head, int pos, int v)
node *searchNode(node *head, int n)
bool deleteNode(node **head, int n)
TIPS: deleteNode function need to call searchNode first to get whether the node exist
in the list. If the returned node is not NULL, then delete the node.
Transcribed Image Text:PRACTICE 6 Test the following additional functions in your program: void insert_atFront(node **head, int n) void insert_atPosition(node **head, int pos, int v) node *searchNode(node *head, int n) bool deleteNode(node **head, int n) TIPS: deleteNode function need to call searchNode first to get whether the node exist in the list. If the returned node is not NULL, then delete the node.
1
#include <iostream>
2
using namespace std;
3
4
//struct
5 - struct node {
int x;
7
node *next;
};
10
//initialize head
11 E void initNode (node *head, int n) {
head->x = n;
12
13
head->next = NULL;
14
}
15
//add a node to the list at tail
17 E void addNode (node *head, int n) {
node *newNode = new node;
newNode ->x = n;
newNode ->next = NULL;
node *cur = head;
while(cur) {
if(cur->next == NULL) {
16
18
19
20
21
22
23
24
cur->next = newNode;
25
return;
26
cur = cur->next;
}
}
27
28
29
Transcribed Image Text:1 #include <iostream> 2 using namespace std; 3 4 //struct 5 - struct node { int x; 7 node *next; }; 10 //initialize head 11 E void initNode (node *head, int n) { head->x = n; 12 13 head->next = NULL; 14 } 15 //add a node to the list at tail 17 E void addNode (node *head, int n) { node *newNode = new node; newNode ->x = n; newNode ->next = NULL; node *cur = head; while(cur) { if(cur->next == NULL) { 16 18 19 20 21 22 23 24 cur->next = newNode; 25 return; 26 cur = cur->next; } } 27 28 29
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Types of trees
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning