Вставка ключа передачи в правильное место в отсортированном порядке в связанном списке - PullRequest
0 голосов
/ 11 июля 2020

В списке 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;
}

Я ошибаюсь в этом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...