Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


01:50.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.