Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: Фитч   (10.05.2007 в 17:00)
"Быстрая" - имеется ввиду название алгоритма или небольшой быстрый код? Я бы воспользовался обычной "пузырьковой" сортировкой, которую проходят на информатике:

1) заводим флаг, ставим его в true
2) начинаем цикл while(флаг)
3) ставим флаг в false
4) проходим циклом for(int i = 1; i < длина_массива; i++) по массиву
5) если массив[i] < массив[i-1], то меняем эти эл-ты местами и ставим флаг = true



int vector[10] = { 1,3,5,6,7,9,0,2,3,2 };
bool f;
int t;

f = true;
while(f)
{
 f = false;
 for(int i = 1;i < 10;i++)
 {
  if(vector[i] < vector[i-1])
  {
   t = vector[i];
   vector[i] = vector[i-1];
   vector[i-1] = t;
   f = true;
  }
 }
}

for(int i=0;i<10;i++)
{
 cout << vector[i] << ",";
}

Можно еще воспользоваться, если не ошибаюсь, std::vector<int>


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: