В списке 4,6,10,17 после insert (head, 8) Список должен стать 4,6,8,10,17
Мне были даны эти определения;
struct ListNode{
int key;
struct ListNode *next;
}
struct ListHead *insert(struct ListHead *head, int key){
Верны ли определения? Не должно быть данных типа int; вместо ключа int; в определениях?
Пока что я написал этот код; изменив
struct ListNode{
int key;
struct ListNode *next;
}
на
struct ListNode{
int data;
struct ListNode *next;
}
struct ListHead *insert(struct ListHead *head, int key){
ListHead* current;
if(*head == NULL ||(*head)->key >= key>data){
key->next = *head;
*head = key;
}
else {
current = *head;
while(current->next!=NULL && current->next->data < key->data){
current = current->next;
}
key->next = current->next;
current->next = key;
}
Я ошибаюсь в этом?