Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2012, 06:09   #1
Tokar_1
 
Регистрация: 31.08.2010
Сообщений: 6
Вопрос Сортировка динамического односвязного списка (язык Си)

Здравствуйте.
Буду признателен за помощь в написании функции сортировки односвязного списка.
Вначале с клавиатуры вводятся целые числа и сохранаяются в списке. Далее этот список надо отсортировать по возростанию (или убыванию).
Вот программа (код Си) :
Код:
#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){ }
Tokar_1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка линейного односвязного списка Klik_1602 Помощь студентам 4 02.03.2011 19:45
Сортировка односвязного списка (C++) biograf Помощь студентам 0 14.12.2010 21:21
Сортировка односвязного списка amerhant Общие вопросы C/C++ 1 13.05.2010 20:25
Сортировка односвязного списка btf Общие вопросы C/C++ 0 15.02.2010 14:40
сортировка динамического списка new_sergei Помощь студентам 1 19.12.2008 00:36