- •Приложение б алгоритмизация вычислительных процессов
- •1. Этапы подготовки и решения задачи на эвм
- •2. Алгоритм и формы его представления
- •3. Линейные и разветвляющиеся алгоритмы
- •4. Алгоритмы циклической структуры
- •4.1. Цикл с простой переменной
- •4.2. Циклические алгоритмы формирования и обработки одномерных массивов
- •4.3. Организация сложных (вложенных) циклов
- •4.4. Алгоритмы обработки двухмерных массивов.
- •4.5. Циклы с неизвестным числом повторений
- •5. Использование подпрограмм в алгоритмах
- •6. Алгоритмы вычисления суммы и произведения
- •7. Алгоритмы нахождения наибольшего и наименьшего значения
- •8. Алгоритмы сортировки
- •8.1. Сортировка обменом (пузырьковая сортировка)
- •8.2. Сортировка выбором
- •8.3 Метод перестановок
- •8.4. Сортировка вставкой
8.2. Сортировка выбором
В массиве производится поиск минимального элемента, начиная с первого его элемента. Если такой элемент найден, поменяем его местами с первым. Затем эта процедура повторяется, начиная со следующего элемента, т.е. со второго. Этот процесс продолжается подобным образом, пока не будет упорядочен весь массив.
Блок-схема алгоритма сортировки массива А по возрастанию значений его элементов методом выбора приведена на рис. 12.
Рисунок 12 - Блок-схема алгоритма сортировки массива А методом выбора
8.3 Метод перестановок
В этом методе в цикле производится попарное сравнение двух соседних элементов. Если встречается неупорядоченная пара элементов, у которых первый элемент больше второго, то они меняются местами, т.е. производится их перестановка и цикл просмотра массива начинается сначала. Если при просмотре массива не встретилось ни одной неупорядоченной пары элементов, то цикл завершает свою работу и массив является отсортированным.
Блок-схема алгоритма сортировки массива А методом перестановок приведена на рис. 13.
Рисунок 13 - Алгоритм сортировки массива А методом перестановок
8.4. Сортировка вставкой
Массив разделяется на две части: на отсортированную и не отсортированную. Элементы из не отсортированной части поочередно выбираются и вставляются в отсортированную часть так, чтобы не нарушить в ней упорядоченность элементов. Первоначально, в качестве отсортированной части массива, принимают только один первый элемент, а в качестве не отсортированной части - все остальные элементы.
Таким образом, алгоритм будет состоять из n-1 прохода (где n – длина массива), каждый из которого, будет включать четыре действия:
Взятие очередного, начиная со второго, i-го не отсортированного элемента и сохранение его в дополнительной переменной B;
Сравнение переменной B с j-ми элементами отсортированной части массива и поиск позиции j_vst, в которой вставка взятого элемента не нарушит упорядоченности элементов этой части массива;
Сдвиг элементов массива вправо от j_vst-го до i-го элемента, для того чтобы освободить найденную позицию вставки;
Вставка взятого элемента в найденную j_vst позицию.
Блок-схема алгоритма сортировки массива А методом вставок приведена на рис. 14.
Рисунок 14 - Блок-схема алгоритма сортировки массива А методом вставок
