Автор Sasha Bezkrovniy задал вопрос в разделе Другие языки и технологии
оптимизированный метод пузырька c++ и получил лучший ответ
Ответ от Николай Веселуха[гуру]
Сортировка "Расчёской"
#include <iostream>
using namespace std;
void comb_sort(double*, const size_t);
void print_array(double*, const size_t);
int main() {
double test[] = {1.22, 12.6, .35, 7.14, .54, .04, 4.68, .99, 6.31, 4.08, 2.16, 1.45 };
size_t size = sizeof(test) / sizeof(test[0]);
print_array(test, size);
comb_sort(test, size);
print_array(test, size);
cin.get();
return 0;
}
void print_array(double* _array, const size_t _size) {
for (size_t n = 0; n < _size; ++n) cout << ' ' << _array[n];
cout << endl;
}
void comb_sort(double* _array, const size_t _size) {
if (_array && _size) {
size_t jump = _size;
bool swapped = true;
while (jump > 1 || swapped) {
if (jump > 1) jump = size_t(jump / 1.25);
swapped = false;
for (size_t n = 0; n + jump < _size; n++) {
if (_array[n] > _array[n + jump]) {
swap(_array[n], _array[n + jump]);
swapped = true;
}
}
}
}
}
Ну например так.
...
p=true;
k=1;
while (p)
{
p=false;
for (i=1;i<=n-k;i++)
{
if (x[i] > x[i+1])
{
a = x[i];
x[i]=x[i+1];
x[i+1]=a;
p=true;
}
k++;
}
...
Оптимизаций и модификаций у пузырька-то много. У Кнута увесистый труд по сортировкам 🙂
Помогите пожалуйста написать программу на c++. Отсортировать по убыванию одномерный массив методом простого обмена.
// Сортировка методом "Пузырька"
#include <iostream>
#include <ctime>
подробнее...
Зачем нужны интерфейсы в ООП. C#
ты конечно можешь описать нужный тебе метод в каждом классе наследнике. Но вот представь себе
подробнее...
Как избавиться от запаха кошачьей мочи на матрасе?
Как убрать запах от кошки.
Удаление мочи делается в два этапа. Сначала удаляется
подробнее...
Сортировка значений в многомерном массиве php
c:/wamp/www/less/sport/pct_108462.png -- 15 matches
Это все одна ячейка?
подробнее...
Что такое экзема? Как её лечить?
Экзема острое или хроническое незаразное воспалительное заболевание кожи, имеющее
подробнее...
Какое французское Шампанское (красное) считается наилучшим?
Шампанское.
ШАМПАНСКОЕ (Champagne) - игристое вино, изготовленное в Шампани методом вторичного
подробнее...
Не растет риччия в аквасе, что делать?
Хорошая статья Яан Оле Педерсен, Оле Педерсен и Клаус Кристенсен. Перевод Sheer
Риччия под
подробнее...
Девушки и знатоки-кулинары, как правильно печь пирожки как у бабушки, честно -причестно интересно узнать?
Тесто нужно не покупать, только самому делать!
Берешь сливочное масло - полпачки где-то
подробнее...