Связанный список C: Упражнение 30 с решением
Напишите программу на C, чтобы отсортировать данный связанный список пузырьковой сортировкой.
Пример решения:
Код C:
//Лицензия: https://bit.ly/2JK1psc#include#include struct node {int data; struct node * next;}; int main () {struct node * temp1, * temp2, * t, * newNode, * startList; int n, k, i, j; startList = NULL; printf ("Введите количество элементов в связанный список? "); scanf ("% d ", & n); printf (" Введите элементы в связанный список: n "); for (i = 1; idata); newNode-> next = NULL; startList = newNode; temp1 = startList;} else {newNode = (struct node *) malloc (sizeof (struct node)); scanf ("% d", & newNode-> data); newNode-> next = NULL; temp1-> next = newNode; temp1 = newNode;}} для (i = n-2; i> = 0; i -) {temp1 = startList; temp2 = temp1-> next; for (j = 0; jdata> temp2-> data ) {k = temp1-> data; temp1-> data = temp2-> data; temp2-> data = k;} temp1 = temp2; temp2 = temp2-> next;}} printf ("Порядок сортировки: n" ); t = startList; while (t! = NULL) {printf ("% d t", t-> data); t = t-> next;}}
Пример вывода:
Ввести количество элементов в связанном списке? 5 Введите элементы в связанный список: 153349665 Отсортированный порядок: 615334965
Блок-схема:
Редактор кода программирования на C: