
Домашние задания: Информатика
сортировка массива не понимаю

Сортировка пузырьком
Алгоритм состоит из повторяющихся проходов по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются N-1 раз или до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован. При каждом проходе алгоритма по внутреннему циклу, очередной наибольший элемент массива ставится на своё место в конце массива рядом с предыдущим «наибольшим элементом», а наименьший элемент перемещается на одну позицию к началу массива («всплывает» до нужной позиции, как пузырёк в воде — отсюда и название алгоритма).
https://ru.wikipedia.org/wiki/Сортировка_пузырьком
Результат выполнения приведенного листинга:
Исходный массив: [1,3,8,2,2,4,2,1,3,9]
j = 1, i = 2: a = [1,3,2,8,2,4,2,1,3,9]
j = 1, i = 3: a = [1,3,2,2,8,4,2,1,3,9]
j = 1, i = 4: a = [1,3,2,2,4,8,2,1,3,9]
j = 1, i = 5: a = [1,3,2,2,4,2,8,1,3,9]
j = 1, i = 6: a = [1,3,2,2,4,2,1,8,3,9]
j = 1, i = 7: a = [1,3,2,2,4,2,1,3,8,9]
j = 2, i = 1: a = [1,2,3,2,4,2,1,3,8,9]
j = 2, i = 2: a = [1,2,2,3,4,2,1,3,8,9]
j = 2, i = 4: a = [1,2,2,3,2,4,1,3,8,9]
j = 2, i = 5: a = [1,2,2,3,2,1,4,3,8,9]
j = 2, i = 6: a = [1,2,2,3,2,1,3,4,8,9]
j = 3, i = 3: a = [1,2,2,2,3,1,3,4,8,9]
j = 3, i = 4: a = [1,2,2,2,1,3,3,4,8,9]
j = 4, i = 3: a = [1,2,2,1,2,3,3,4,8,9]
j = 5, i = 2: a = [1,2,1,2,2,3,3,4,8,9]
j = 6, i = 1: a = [1,1,2,2,2,3,3,4,8,9]
Если совсем уж грубо..
Наибольший по значению элемент перемещается в конец массива, потом наибольший из оставшихся на вторую с конца позицию и так далее по аналогии..
Полное перемещение происходит в цикле "for j", смещение на одну позицию (если нужно) в цикле "for i".
Алгоритм состоит из повторяющихся проходов по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются N-1 раз или до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован. При каждом проходе алгоритма по внутреннему циклу, очередной наибольший элемент массива ставится на своё место в конце массива рядом с предыдущим «наибольшим элементом», а наименьший элемент перемещается на одну позицию к началу массива («всплывает» до нужной позиции, как пузырёк в воде — отсюда и название алгоритма).
https://ru.wikipedia.org/wiki/Сортировка_пузырьком
Результат выполнения приведенного листинга:
Исходный массив: [1,3,8,2,2,4,2,1,3,9]
j = 1, i = 2: a = [1,3,2,8,2,4,2,1,3,9]
j = 1, i = 3: a = [1,3,2,2,8,4,2,1,3,9]
j = 1, i = 4: a = [1,3,2,2,4,8,2,1,3,9]
j = 1, i = 5: a = [1,3,2,2,4,2,8,1,3,9]
j = 1, i = 6: a = [1,3,2,2,4,2,1,8,3,9]
j = 1, i = 7: a = [1,3,2,2,4,2,1,3,8,9]
j = 2, i = 1: a = [1,2,3,2,4,2,1,3,8,9]
j = 2, i = 2: a = [1,2,2,3,4,2,1,3,8,9]
j = 2, i = 4: a = [1,2,2,3,2,4,1,3,8,9]
j = 2, i = 5: a = [1,2,2,3,2,1,4,3,8,9]
j = 2, i = 6: a = [1,2,2,3,2,1,3,4,8,9]
j = 3, i = 3: a = [1,2,2,2,3,1,3,4,8,9]
j = 3, i = 4: a = [1,2,2,2,1,3,3,4,8,9]
j = 4, i = 3: a = [1,2,2,1,2,3,3,4,8,9]
j = 5, i = 2: a = [1,2,1,2,2,3,3,4,8,9]
j = 6, i = 1: a = [1,1,2,2,2,3,3,4,8,9]
Если совсем уж грубо..
Наибольший по значению элемент перемещается в конец массива, потом наибольший из оставшихся на вторую с конца позицию и так далее по аналогии..
Полное перемещение происходит в цикле "for j", смещение на одну позицию (если нужно) в цикле "for i".
Похожие вопросы
- Информатика 10-11 класс Массивы Pascal1
- Заполнить массив из 15 элементов случайными трехзначными числами; сосчитать количество элементов массива, у которых вто
- Информатика задача на массивы
- Работа с массивами практическое занятие по ИКТ
- Информатика, решение задач на массивы
- Информатика, решение задач на массивы. Прошу срочно!!!
- Составить массив В из неположительныхэлементов массива А (15) Написать прогу в VBA
- Дан некоторый числовой массив. Надо найти сумму положительных элементов этого числового массива.
- Дан некоторый числовой массив. Надо найти сумму положительных элементов этого числового массива. На Pascal ABC.
- Заполнить массив из 10 элементов случайными числами 0..100 и отсортировать: первая половина по возраст., вторая по убыв.