| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Сортировка выбором |
| Автор: papochka 11.1.2010, 18:15 | ||
| Привет. Осваиваю сортировку массивов.Остановился на сортировке выбором. Сначала искал инфу по ней, вроде нашел. Набросал код(ниже), но что-то оно выводит в том-же порядке как я и ввёл массив.. Помогите пож-ста, что не так? И если можно, как я код для новичка оформляю.Можно неск. советов. Спасибо. С Ув. Игорь.
|
| Автор: bsa 11.1.2010, 18:36 |
| в строке 21 попробуй поставить условие k <= j в строке 25 i замени на j |
| Автор: toxx 11.1.2010, 18:37 | ||
Маленько переделал...
|
| Автор: comcon1 11.1.2010, 18:45 |
| хихи, чувак, ты не маленько переделал. Ты превратил алгоритм в "пузырек". |
| Автор: toxx 11.1.2010, 18:49 | ||||||
Неа, это сортировка выбором элемента Вроде как выбираем элемент
И сравниваем поочередно
Блин или наврал чтото?)Так просто набросал, пузырек это вроде когда элемент самый большой вытесняют в конец массива?) |
| Автор: artsb 11.1.2010, 18:49 | ||
Добавлено через 2 минуты и 12 секунд ![]() |
| Автор: papochka 11.1.2010, 18:53 | ||||||||
Вот это заменить? (20, на 21-й скобочка.) Добавлено через 1 минуту и 36 секунд
О, спасибо. Запарился немног)) Теперь понятно. |
| Автор: comcon1 11.1.2010, 19:08 |
| toxx, нет. Сортировка выбором, это поиск минимума и установка в начало, потом в оставшемся ищем минимум - и в начало. А у тебя двойной цикл, сравниваются попарно все элементы и меняются местами в сторону большего - это и есть пузырек (может он и называется не пузырек, но максимум там всплывает, нет, только что проверил - это пузырек). |
| Автор: Dov 11.1.2010, 19:10 |
| Сортировка выбором - это нахождение в массиве минимального или максимального(если сортируем по убыванию) элемента (а иногда и того и другого, если сортировка двунаправленная) и обмен его с текущим элементом. И так до конца массива, исключая из поиска ранее отсортированные элементы. Добавлено через 1 минуту и 9 секунд comcon1 уже дал определение... |
| Автор: papochka 11.1.2010, 19:14 |
| Спасибо. Теперь ещё буду ковырять Быструю сортировку.) Идея в том, что массив делится на два подмассива. В левую часть идёт элемент меньший, чем элемент в качестве среднего. В правую - больший. Буду соображать, как сделать =) |
| Автор: toxx 11.1.2010, 19:16 | ||
Ошибочка значит вышла)Подзабыл уже сортировки)Вроде понатыкал, чето исправил, что аж переделал в другой метод оказывается=) |