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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2015, 17:14   #1
ProgrammerGhost
 
Регистрация: 05.05.2015
Сообщений: 4
По умолчанию Ошибки при быстрой сортировке (quicksort)

Здравствуйте. При попытке реализации быстрой сортировке на си в отсортированном массиве изредка встречаются неотсортированные элементы.
Помогите найти ошибку в коде.
Код:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
int random(int n)
{
	return(rand()%n);
}
void sort(int a[],int from, int to)
{
	int i=from,j=to,x=a[(from+to)/2],temp;
	if(i>=j)
	   return;
	while(i<j)
	{
		while(a[i]<x)i++;
		while(a[j]>x)j--;
		temp=a[i];a[i]=a[j];a[j]=temp;
		i++;
		j--;
	}
	sort(a,from,j);
	sort(a,i,to);
}
int main()
{
	int *a,n,i;
	srand(time(NULL));
	scanf("%d",&n);
	a=new int[n];
	for(i=0;i<n;i++)
	   a[i]=random(101);
	sort(a,0,n);
	for(i=0;i<n;i++)
	   printf("%d ",a[i]);
	   return 0;
}
ProgrammerGhost вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при сортировке Fenix1987 БД в Delphi 2 22.06.2012 10:20
Не могу разобраться в быстрой сортировке на Delphi OverTeam Помощь студентам 1 13.04.2012 15:04
При быстрой отправке буфера(ов) - asynchronous socket error 10051 Alex1991 Работа с сетью в Delphi 4 03.11.2011 02:27
Ограничитель в быстрой сортировке Юлия999 Помощь студентам 1 08.06.2011 10:47
Ошибки в поиске и сортировке Lexeres Помощь студентам 3 20.12.2009 11:46