Я пытаюсь исправить эту проблему некоторое время и не могу найти ошибку. Я хочу отсортировать список структур с пузырьковой сортировкой. Я думаю, что ошибка связана со ссылками на указатели. Я хочу поменять местами целые структуры, а не все данные, потому что в структуре много данных, поэтому это не имеет смысла. С уважением
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);
}
}