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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2010, 18:20   #1
olnesm
Новичок
Джуниор
 
Регистрация: 19.04.2010
Сообщений: 1
Вопрос Сортировка массива в С++

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

Код:
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). Решил сделать методом вставки. Опять же написал.

Код:
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;
И здесь возник вопрос: Куда вставлять условие сортировки?

Последний раз редактировалось olnesm; 19.04.2010 в 18:24.
olnesm вне форума Ответить с цитированием
Старый 19.04.2010, 19:47   #2
[CODER]
Форумчанин
 
Аватар для [CODER]
 
Регистрация: 02.02.2010
Сообщений: 305
По умолчанию

Код:
	for (i = 1; i < n; i++) {
	   temp = mas[i];
	   j=i-1;
	   while ((j>=0) & (temp<mas[j]))  {
		   mas[j+1]=mas[j];
		   j--;
	   }
		 mas[j+1]=temp;
	}
Советую использовать "быструю сортировку"
Skype: CODERua
[CODER] вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка массива saggy Помощь студентам 2 27.02.2010 14:07
Сортировка массива Paladast Помощь студентам 2 18.01.2010 16:28
Сортировка массива ManU Помощь студентам 1 21.09.2008 10:41
Сортировка массива vitalik007 Общие вопросы Delphi 2 22.09.2007 20:04