Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 4
1

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

18.04.2010, 22:35. Просмотров 591. Ответов 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;
И здесь возник вопрос: Куда вставлять условие сортировки?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2010, 22:35
Ответы с готовыми решениями:

сортировка простого массива
уважаемые программисты помогите пожалуйста переписать php код на С++, вот сам скрипт, заранее...

сортировка выбором простого массива
помогите пожалуйста нарисовать блок схему, вот код по которому нужно нарисовать блок схему ...

Сортировка массива методом простого обмена
Привет,программисты! Мне поставлена задача выполнить сортировку одномерного массива методом ...

Сортировка методом Шелла, не простого массива
Нужна помощь в реализации сортировки методом Шелла. Кидаю весь код, на всякий случай. Выдает ошибку...

4
1545 / 911 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
18.04.2010, 22:48 2
Алгоритмы сортировок , пост #2
мб поможет
0
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 4
18.04.2010, 22:52  [ТС] 3
оттуда и брал метод вставки, но куда вставлять условия не понял
0
1545 / 911 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
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;
  }
}
0
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 4
18.04.2010, 23:01  [ТС] 5
neske,
как написать метод вставки я знаю(он у меня уже написан), но мне необходимо сортировать не по порядку возрастания, а по определенному принципу
Цитата Сообщение от nesm Посмотреть сообщение
сначала вывести элементы входящие в интервал [a,b], затем все остальные.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2010, 23:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Рекурсия: сортировка массива методом простого выбора
Помогите решить задачу: написать процедуру сортировки массива методом простого выбора.

Сортировка простого поиска
Нужна сортировка &quot;Простой поиск&quot;. Должна быть одна из стандартных, но что-то не могу найти(может...

Сортировка методом простого обмена
Дано n точек на плоскости. Указать (n-1)-звенную несамопересекающуюся незамкнутую ломаную,...

Сортировка методом простого выбора
Мучаюсь-мучаюсь.Не получается отсортировать массив.Задача такая:отсортировать массив простым...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.