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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2012, 13:26   #1
promt
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию QSort подсчет сравнений

Помогите разобраться с подсчетом сравнений и присвоений в быстрой сортировки. Нужно сделать тест алгоритма, я разставил счетчики ну не уверен что это верно.

Код:
 int static k=1, k2=0; //k -счетчик подсчета сравнений  k2- счетчик присвоений
void QSort(int* a, int size) {
  int i = 0, j = size;          
  int temp, p;				
  p = a[ size>>1 ];                

  do{
    while (a[i] < p) i++;   
    while (a[j] > p) j--;  
 
    if (i <= j){ k++; 
      temp = a[i]; 
	  a[i] = a[j]; k2++;
	  a[j] = temp; k2++;
      i++; j--;
    }
  }while ( i<=j ); k++;
  if(j>0) QSort(a,j); 
  if (size > i) QSort(a+i, size-i);
}
promt вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Qsort и структуры Lohmatiyy Общие вопросы C/C++ 2 27.06.2011 13:02
Задание функции compare для qsort Farrel Общие вопросы C/C++ 9 26.02.2011 23:54
qsort Jauhen Общие вопросы C/C++ 5 26.05.2010 01:15
qsort и структуры burzum Общие вопросы C/C++ 1 26.11.2009 13:23
Функция qsort() phpcreator Общие вопросы C/C++ 1 19.10.2009 22:34