Bubblesort список структур - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь исправить эту проблему некоторое время и не могу найти ошибку. Я хочу отсортировать список структур с пузырьковой сортировкой. Я думаю, что ошибка связана со ссылками на указатели. Я хочу поменять местами целые структуры, а не все данные, потому что в структуре много данных, поэтому это не имеет смысла. С уважением

void bubbleSort() 
{ 
    node *tmp;
    node *prev;
    node *ptr1;  

    char c1, c2;
    int cast1, cast2, check=0, i=0;

    if (anfang == NULL) 
        printf("Die Liste wurde nicht initialisiert!\n");

    while(check==0){

        i=0;

        ptr1=anfang;
        prev=ptr1;

        check=1;

        while(ptr1->next!=NULL){

            print(ptr1);
            print(ptr1->next);

            c1=ptr1->vorname[0];
            c2=ptr1->next->vorname[0];
            cast1=(int)c1;
            cast2=(int)c2;

            if(cast1>cast2){

                check=0;
                tmp=ptr1;
                ptr1=ptr1->next; 
                if(i==0)
                    anfang=ptr1;

                tmp->next=ptr1->next;
                ptr1->next=tmp;

                if(i==1)
                    prev->next=ptr1;

                i=1;
                prev=ptr1;
                anfang=prev;
            }
            prev=ptr1;
            ptr1=ptr1->next;
        }
    printf("check:%d\n",check);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...