Хорошо, поэтому в основном для кода для печати списка ссылок, когда я отправляю NODE * HEAD в качестве аргумента, он не проходит по списку навсегда, например, если я вызову функцию дважды, он напечатает весь список ссылок оба раза, НО, еслиЯ отправляю NODE ** HEAD и вызываю print дважды, а затем во второй раз он напечатает NULL, потому что он постоянно проходит, почему?
Это стало еще более запутанным, потому что, если я пытаюсь добавить элемент в конец списка ссылок с заголовком узла * в качестве аргумента, он постоянно добавляет его в список.Почему заголовок узла ** не является обязательным в этом случае, добавляя код для этого тоже.
Я много раз его искал, но я действительно не мог понять много.
void print(node * head){
while(head!=NULL){
cout<<head->data<<"-->";
head = head->next;
}
cout<<"NULL"<<endl;
}
void inserstAtLAst(node * head,int data){
node * temp = new node(data);
while(head->next!=NULL){
head = head->next;
}
head->next = temp;
}