void sort(struct node **s2) {
struct node *x, *y;
x = *s2;
char *str;
while (x != NULL) {
y = x->n;
while (y != NULL) {
if (strcmp(x->name, y->name) > 0) {
strcpy(str, x->name);
strcpy(x->name, y->name);
strcpy(y->name, str);
}
y = y->n;
}
x = x->n;
}
}
Это показывает ошибку времени выполнения. я не знаю, что случилось я считаю, что сортировка является правильным Этого выделения на сортировке Структура моего узла:Ошибка выполнения сортировки связанного списка строк
struct node {
char *name;
struct node *n;
};
Это показывает сообщение об ошибке выполнения.
Ваша функция сортировки не компилируется, вам не хватает '}' – Caw
oh им жаль, что я пропустил a} здесь ... у меня есть все} в моей исходной программе – Ali
Ваш алгоритм - это неустойчивый вариант sele сортировка. Его временная сложность равна ** O (N^2) **. Попробуйте реализовать сортировку слияния, гораздо более эффективный алгоритм с наихудшей временной сложностью ** O (N.log (N)) **. – chqrlie