2014-12-29 1 views
-2

OK, поэтому я хочу вставить новый узел в одиночный список в C на n-й позиции (не конец или начало), но все, что я получаю после поиска, это то, как вставлять новые узлы в начале или в конце связанного список. Любая помощь приветствуется. Спасибо.Как вставить новый узел в односвязный список после n-й позиции?

+0

Это на полпути между этими решениями, но вы должны посчитать шаги. – Jasen

+0

Я дам вам код, подождите ... –

ответ

0

что-то вроде этого возможно.

void insert_at(list_node **list, list_node *new,int offset) 
{ 
    while(offset-- && (*list)->next) 
     list=&((*list)->next); 
    new->next=(*list)->next 
    (*list)->next=new; 
} 
+0

Хорошо, спасибо, но я нашел решение самостоятельно. –

-1

Я нашел решение самостоятельно. Это мой алгоритм -

Шаг 1- задан связанный список, укажите его.

Шаг 2 Спросите индекса, после чего пользователь хочет вставить новый узел

Шаг 3- Траверс, хотя связанный список, пока вы не достигли этого индекса

Шаг 4 Создайте новый узел который указывает на узел после того, как индекс текущего

Шаг 5 Сделайте узел индекса введенному точки пользователя на новый узел

вуаля, готово!

Смежные вопросы