Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nesm
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 4
#1

Сортировка простого массива - C++

18.04.2010, 22:35. Просмотров 463. Ответов 4
Метки нет (Все метки)

Здравствуйте!
Имеется проблема с сортировкой простого массива. Необходимо сначала вывести элементы входящие в интервал [a,b], затем все остальные.
Сделал методом пузырька, все работает.

C++
1
2
3
4
5
6
7
8
for (j=1;j<n;j++) 
for (i=0;i<n-j;i++)
    if ((int(x[i])<a)||(int(x[i])>b))
    { 
      r=x[i];
      x[i]=x[i+1];
      x[i+1]=r;
    }
Преподаватель попросил уменьшит кол-во проходов (было 45). Решил сделать методом вставки. Опять же написал.

C++
1
2
3
4
5
  for ( i=0; i < n; i++)  
  r = x[i];   
  for ( j=i-1; j>=0 && x[j] > r; j--)
  x[j+1] = x[j]; 
  x[j+1] = r;
И здесь возник вопрос: Куда вставлять условие сортировки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2010, 22:35     Сортировка простого массива
Посмотрите здесь:

Упорядочить массив целых положительных чисел по возрастанию, определить номер минимального простого числа до и после упорядочивания массива C++
Указатели массива и сортировка массива C++
сортировка простого массива C++
сортировка выбором простого массива C++
C++ Сортировка массива, вместо массива выводит мусор
Сортировка массива методом простого обмена C++
C++ Сортировка простого поиска
Упорядочить массив целых положительных чисел по возрастанию, определить но- мер минимального простого числа до и после упорядочивания массива C++
C++ Определить номер минимального простого числа до и после упорядочивания массива
Сортировка массива C++
C++ Сортировка методом простого обмена
C++ Сортировка массива

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1455 / 822 / 68
Регистрация: 26.03.2010
Сообщений: 2,809
18.04.2010, 22:48     Сортировка простого массива #2
Алгоритмы сортировок , пост #2
мб поможет
nesm
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 4
18.04.2010, 22:52  [ТС]     Сортировка простого массива #3
оттуда и брал метод вставки, но куда вставлять условия не понял
neske
1455 / 822 / 68
Регистрация: 26.03.2010
Сообщений: 2,809
18.04.2010, 22:57     Сортировка простого массива #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void insertSort(int a[], int size) //аргументы-массив a, размером size.
{
  int x;
  long i, j;
 
  for ( i=0; i < size; i++) // цикл проходов, i - номер прохода
  {  
    x = a[i];   
        // поиск места элемента в готовой последовательности 
    for ( j=i-1; j>=0 && a[j] > x; j--)
      a[j+1] = a[j];    // сдвигаем элемент направо, пока не дошли
        // место найдено, вставить элемент
    a[j+1] = x;
  }
}
nesm
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 4
18.04.2010, 23:01  [ТС]     Сортировка простого массива #5
neske,
как написать метод вставки я знаю(он у меня уже написан), но мне необходимо сортировать не по порядку возрастания, а по определенному принципу
Цитата Сообщение от nesm Посмотреть сообщение
сначала вывести элементы входящие в интервал [a,b], затем все остальные.
Yandex
Объявления
18.04.2010, 23:01     Сортировка простого массива
Ответ Создать тему
Опции темы

Текущее время: 06:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru