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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 19:21   #1
alexsashkin
Новичок
Джуниор
 
Регистрация: 23.12.2010
Сообщений: 1
По умолчанию быстрая сортировка вектора структур

Очень срочно необходима помощь. Нужно написать быструю сортировку для вектора по целым числам. Есть такой вариант
Код:
void quickSortV(vector<student> a, int bN, int eN)           // Быстрая сортировка вектора
{
// На входе - массив a[], a[N] - его последний элемент.

  int i = bN, j = eN; 		// поставить указатели на исходные места
  student temp, p;

  p = a.at((eN - bN)/2 + bN);			// центральный элемент

  // процедура разделения
  do
  {
    while ( a.at(i).age  < p.age  && i < eN) i++;
    while ( a.at(j).age  > p.age  && j > bN ) j--;

    if (i <= j)
    {       swap(a.at(i), a.at(j));
   //   temp = a.at(i); a.at(i) = a.at(j); a.at(j) = temp;//sch++;
      i++;
     j--;
    }
  }
  while ( i<=j );


  // рекурсивные вызовы, если есть, что сортировать
  if ( j > bN ) quickSortV(a, 0, j);
  if ( eN > i ) quickSortV(a, i, eN-i);
}
,но при выводе вектора после сортировки он не отсортирован. Ошибок не выдает. Данные в полях структуры генерируются случайно. Пишу на Borland c++ 2006.
alexsashkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрая сортировка Neitrosha Помощь студентам 0 07.12.2010 19:40
Быстрая сортировка Serious Общие вопросы Delphi 2 02.11.2010 13:38
быстрая сортировка настолько быстрая Serg12 Помощь студентам 8 28.03.2010 21:31
Быстрая сортировка lennon Общие вопросы C/C++ 0 08.10.2009 23:23
быстрая сортировка ГРИГОРИЙ-кореш Помощь студентам 1 16.04.2009 18:13