Вставка узла в хвост списка - C (СИ)

Формулировка задачи:

Мне нужно вставить узел в хвост списка. Я написал функцию вставки, но она не доходит до конца списка. В функцию передаю список и информационное поле узла, которое надо вставить. Можете помочь найти ошибку?
Node*AddInTail(Node**p,int k)
{       Node*ins=new Node; // узел, который надо вставить
    Node*walk=new Node;// создаем новый узел,для прохода по списку 
        ins->k=k;                 //в информационное поле вставляю число k
        for(walk=*p;walk->next!=NULL;walk=walk->next) //дохожу до конца списка
            {
                walk->next=ins; //в указатель конца списка записываю узел
                ins->next=NULL; //в указатель вставленного узла записываю NULL
    return *p;
    }
    return *p;
}

Код к задаче: «Вставка узла в хвост списка - C (СИ)»

textual
Node*walk=new Node;// создаем новый узел,для прохода по списку

11   голосов, оценка 4.182 из 5


СОХРАНИТЬ ССЫЛКУ