вставить новый узел в любой индекс в одном связанном списке

Как мне создать функцию, которая позволит мне вставить новый узел в любой индекс в связанном списке? Вот's структура:

struct node {
    int data;
    struct node* next;
};

Вот's функция, обратите внимание, тамТолько двойной указатель, индекс и параметр данных.

void insertN(struct node** headRef, int index, int data);

и здесь's как должен выглядеть результат после вызова insertN:

[ HEAD ] -> [ 0 ] -> [ 15 ] -> [ 10 ] -> [ 5 ] -> [ NULL ]
insertN( &head, 3, -44);
[ HEAD ] -> [ 0 ] -> [ 15 ] -> [ 10 ] -> [ -44 ] -> [ 5 ] -> [ NULL ]
insertN( &head, 4, -55);
[ HEAD ] -> [ 0 ] -> [ 15 ] -> [ 10 ] -> [ -44 ] -> [-55 ] -> [ 5 ] -> [ NULL ]
insertN( &head, 0, -66);
[ HEAD ] -> [ -66 ] -> [ 0 ] -> [ 15 ] -> [ 10 ] -> [ 5 ] -> [ NULL ]

я знаю, как добавить новый узел в голову, но не в любой момент. как я думал

void insertN(struct node** headRef, int index, int data) {
    struct node* new;
    int i;
    for (i = 0; i 

Ответы на вопрос(2)

Ваш ответ на вопрос