Сортировка динамического односвязного списка - C (СИ)
Формулировка задачи:
Здравствуйте.
Буду признателен за помощь в написании функции сортировки односвязного списка.
Вначале с клавиатуры вводятся целые числа и сохранаяются в списке. Далее этот список надо отсортировать по возростанию (или убыванию).
Вот программа (код Си) :
Буду признателен за содействие в написании функции
#include <stdio.h> #include <stdlib.h> typedef struct nd { int val ; // element of list struct nd *next ; // указывает на следующий узел списка } ND ; void print(ND *) ; // функция печати списка int lenght(ND *) ; // функция вычисления длины списка ND *Func_sort( ND *, int) ;функция сортировки списка - ее требуется написать!!!! int main( void ) { ND *first ; // указатель на начало списка ND *r ; int v ; int lenght_list ; //длина списка first = r = (ND*) malloc(sizeof(ND)); scanf("%d", &v); // ввод чисел с клавиатуры r->val = v ; while ( scanf("%d", &v)==1) { // ввод чисел с клавиатуры и сохранение в односвязном списке r = r->next =(ND*) malloc(sizeof(ND)) ; r->val = v ; r->next = NULL ; } printf("\n%s", "List general: ") ; print(first) ; // вывод созданного неупорядоченного списка printf("\n%s%d", "Lenght of list: ", lenght_list = lenght(first)); // печать длины списка return 0 ; } void print( ND * start) { while (start!=NULL) { printf("%d ", start->val); start = start->next ; } return 0 ; } int lenght(ND *start) { return (start) ? lenght(start->next)+1 : 0 ; }
ND *Func_sort( ND *, int){ }
Решение задачи: «Сортировка динамического односвязного списка»
textual
Листинг программы
а можно спросить ссылки или источники
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д