У меня есть один список без циклического списка без стража, и я хочу продублировать каждый его узел.Например, у меня есть 7,5,12,16, и я хочу иметь: 7,7,5,5,12,12,16,16, но я не могу его создать. Ниже приведен мой код функции для дублирования узлов(остальные части программы верны).
int duplicate_list(listT *list_head) {
listT *current, *new_node;
for(current = list_head; current != NULL; current = current->next,counter++) {
new_node = (listT *)malloc(sizeof(listT));
if(new_node == NULL) {
printf("problem in new_node\n");
free(new_node);
exit(-1);
}
new_node->data = current->data;
new_node->next = current;
}
return(1);
}
Может ли кто-нибудь мне помочь?