Почему обход, когда вы отправляете указатель на указатель, постоянно изменяет список ссылок, а один указатель - нет - PullRequest
0 голосов
/ 07 февраля 2019

Хорошо, поэтому в основном для кода для печати списка ссылок, когда я отправляю 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...