| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Сортировка "пузырьком". |
| Автор: .talisman 20.2.2005, 15:25 | ||
| Написал на Си сортировку пузырьком. Знаю, что очень медленно работает -- скорость прямопропорционально зависит от количества элементов массива. Писал из-за того, что недавно проходили её в шараге, она самая простая для понимания и её нам нужно постоянно использовать. Собственно далее привожу код программы, может кому-то и пригодится.
|
| Автор: chaos 21.2.2005, 14:27 | ||
вот эту строку я бы заменил int *a = new int[size]; я думаю так более правельно |
| Автор: Akina 21.2.2005, 14:43 | ||
Вообще-то классическая сортировка пузырем ака камнем - это
|
| Автор: maxim1000 21.2.2005, 14:56 | ||
когда j будет равен size-1, j+1 будет равен size а значит, будет попытка обратиться к a[size], что не есть хорошо... |
| Автор: .talisman 21.2.2005, 16:44 |
| chaos как я понимаю это уже динамический массив. можно и так, для большей гибкости. тогда нужно будет изменить "const size" на "int size" |
| Автор: chaos 21.2.2005, 16:49 | ||
верно |
| Автор: .talisman 21.2.2005, 17:00 |
| Akina maxim1000 согласен, исправим-с =) |
| Автор: Doc_d0s 21.2.2005, 21:35 | ||
Вот мой вариант:
|
| Автор: kostyantmb 28.2.2005, 16:25 | ||
Попробуй это:
Используется дополнительная булевская переменная F. При каждом заходе в первый цикл ей присваивается значение false и если в процессе выполнения один из элементов будет не отсортирован, то значение этой переменной меняется на true и первый цикл продолжается дальше. Если значение не поменялось, то это значит, что уже нечего сортировать. Данная сортировка выполняет n*(n-1)*(n-2)*...*(2)*(1) операций в худшем случае. |
| Автор: Goryachev 28.2.2005, 23:04 | ||
Ты имел ввиду n+(n-1)+(n-2)+...+(2)+(1) |
| Автор: kostyantmb 2.3.2005, 11:59 |
| Да, именно так! |
| Автор: Enya 15.10.2005, 13:52 | ||
|
| Автор: _hunter 17.10.2005, 11:32 |
| после перестановки элементов ( а именно if(items[b-1]>items[b]){ ) выводи циклом весь массив |
| Автор: Enya 17.10.2005, 18:13 | ||
| Предлагаю ещё вариант сортировки методом "пузырька". Сортрует не числа, а строчку. Мне кажется так не много проще.
|
| Автор: Enya 18.10.2005, 21:03 | ||
Если после меня никто не постил, значит скорее всего код правильный, мот предлагаю модифицированную сортировку методом "пузырька"
|