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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2014, 18:52   #1
Merkava
 
Регистрация: 21.05.2014
Сообщений: 9
По умолчанию Quicksort.Язык C.

Необходим взгляд со стороны.Для данной сортировки нужно подсчитать кол-во перестановок.Я использую переменную col.В данном коде переменная col запоминает кол-во перестановок или все же кол-во сравнений?

PHP код:
int QuickSort (int *mint n)  
{
    
int xwijcol4=0;
    
m[n/2];
    
i=0
    
j=n-1;
    do
    {
        while (
m[i]>x) {col4++; i++;}
        while (
x>m[j]) {col4++; j--;}
        if (
i<=j)
        {
            
m[i]; 
            
m[i] = m[j];
            
m[j] = w;
            
i++;
            
j--;
            
        }
        
col4+=2;
    }
    while (
i<j);
    if (
j>0)
    {
        
col4+=QuickSort (mj+1);
        
    }
    if (
i<n-1)
    {
        
col4+=QuickSort (m+in-i);
        
    }
    return 
col4;

Merkava вне форума Ответить с цитированием
Старый 05.06.2014, 20:41   #2
Merkava
 
Регистрация: 21.05.2014
Сообщений: 9
По умолчанию

Ведь количество перестановок нужно считать именно вот так, а не как сверху?
Код:
int QuickSort (int *m, int n)  
{
	int x, w, i, j, col4=0;
    x = m[n/2];
	i=0; 
	j=n-1;
	do
	{
		while (m[i]>x) {col4++; i++;}
		while (x>m[j]) {col4++; j--;}
		if (i<=j)
		{
			w = m[i]; 
			m[i] = m[j];
			m[j] = w;
			col4+=3;
			i++;
			j--;
			
		}
	}
	while (i<j);
	if (j>0)
	{
		QuickSort (m, j+1);
		
	}
	if (i<n-1)
	{
		QuickSort (m+i, n-i);
		
	}
	return col4;
}
Merkava вне форума Ответить с цитированием
Старый 06.06.2014, 23:05   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
col4+=3;
А тут не col4++; ?

И да.. последний больше похож на правду..
Poma][a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
quicksort на Си Forgotten Помощь студентам 0 17.12.2012 00:25
QUICKSORT Оксанкая Помощь студентам 0 01.05.2012 22:30
quicksort списка SpineDuzt Паскаль, Turbo Pascal, PascalABC.NET 5 12.04.2010 10:24
не работает quicksort SpineDuzt Помощь студентам 2 20.03.2010 16:05
quicksort bfm89 Общие вопросы C/C++ 2 23.11.2009 22:19