КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Алгоритмы обработки одномерных массивов
Массив – это структурированный тип данных, состоящий из фиксированного числа элементов одного типа. Массивы часто используются во множествах. Массивы бывают одномерные и многомерные. Пример одномерного массива (таблица 9.4.). Таблица 9.4.
Пример многомерного числового массива (двухмерного, таблица 9.5.) Таблица 9.5.
Ввод-вывод элементов одномерного массива При вводе одномерного массива необходимо последовательно вводить 1-й, 2-й и т.д. элементы массива, аналогично поступают при выводе. Для ввода или вывода массива необходимо организовать цикл. Наиболее удобно использовать для ввода и вывода одномерного массива алгоритм с использованием безусловного цикла (рис.9.12.).
Рис.9.12. Алгоритм ввода массива с использованием безусловного цикла
Вычисление суммы элементов массива Пусть дан массив X, состоящий из n элементов. Нужно найти сумму элементов данного массива. Переменной S присваивается значение равное нулю, затем последовательно суммируются элементы массива X (рис.9.13.).
Рис.9.13. Алгоритм вычисления суммы элементов массива Вычисление произведения элементов массива Дан массив Х, состоящий из n элементов. Необходимо найти произведение элементов данного массива. Решение этой задачи сводится к тому, что значение переменной Р, в которую предварительно была записана единица, последовательно умножается на значение I – го элемента массива (рис.9.14.).
Рис. 9.14. Вычисление произведения элементов массива Поиск максимального элемента в массиве и его номера Пусть дан массив Х, состоящий из n элементов. Необходимо найти максимальный элемент массива и его номер, под которым он хранится в массиве (рис.9.15.). Пусть в переменной с именем Мах хранится значение максимального элемента массива, а в переменной с именем Nmax – его номер. Предположим, что первый элемент массива является максимальным и запишем его в переменную Мах, а в Nmax занесем его номер, т.е. – 1. Затем все элементы, начиная со второго, сравниваем в цикле с максимальным. Если текущий элемент массива оказывается больше максимального, то записываем его в переменную Мах, а в переменную Nmax – текущее значение индекса i
Рис. 9.15. Поиск максимального элемента и его номера в массиве
Таблица. 9.6. Определение максимального элемента и его номера в массиве
Поиск минимального элемента в массиве и его номера Пусть дан массив Х, состоящий из n элементов. Необходимо найти минимальный элемент массива и его номер, под которым он хранится в массиве (рис.5.16.). Пусть в переменной с именем Мин хранится значение минимального элемента массива, а в переменной с именем Nmin – его номер. Предположим, что первый элемент массива является минимальным и запишем его в переменную Мин, а в Nmin занесем его номер, т.е. – 1. Затем все элементы, начиная со второго, сравниваем в цикле с минимальным. Если текущий элемент массива оказывается меньше минимального, то записываем его в переменную Мин, а в переменную Nmin – текущее значение индекса.
Рис. 9.16. Поиск минимального элемента и его номера в массиве
Таблица. 9.7. Определение минимального элемента и его номера в массиве
Сортировка элементов в массиве Сортировка представляет собой процесс упорядочения элементов в массиве в порядке возрастания или убывания их значений. Существует большое количество алгоритмов сортировки, но все они базируются на трех основных: - сортировка методом «пузырька»; - сортировка обменом; - сортировка выбором; - сортировка вставкой. Сортировка методом «пузырька». Задан массив Y из n целых чисел. Необходимо разложить их в порядке возрастания. Сравним первый элемент массива со вторым, если первый окажется больше второго, то поменяем их местами. Аналогично поступим для второго, третьего, i-го, (i+1), (n-1), n-го элементов. В результате этих действий самый большой элемент станет на последнем месте. Повторяем данный алгоритм сначала, но без рассмотрения последнего элемента n, так как он уже стал на свое место. Так повторяем до тех пор, пока не упорядочится весь массив. В таблице 9.8 подробно расписан процесс упорядочения элементов в массиве. Для преобразования массива из n элементов, необходимо просмотреть его n-1 раз, каждый раз уменьшая диапазон просмотра на один элемент. Таблица. 9.8. Процесс упорядочения элементов в массиве по возрастанию
Для перестановки элементов в массиве по убыванию их значений необходимо при сравнении элементов массива заменить знак больше на меньше.
нет
да
Рис. 9.17. Сортировка массива пузырьковым методом Сортировка выбором ( рис.9.18.). Найдем в массиве самый большой элемент (блоки 3-7) и поменяем его местами с последним блоком (блок 8). Повторим алгоритм поиска максимального элемента, уменьшив количество просматриваемых элементов на единицу (блок 9) и поменяем его местами с предпоследним элементом (блок 3-7). Описанную выше операцию поиска проводим до полного упорядочения элементов в массиве. Так как в блоке 9 происходит изменение переменой n, то в начале алгоритма ее значение необходимо сохранить (блок 1).
да
Рис.9.18. Сортировка массива выбором наибольшего элемента
Сортировка вставкой Сортировка вставкой (рис.9.19; рис.9.20.) заключается в том, что сначала упорядочивается два элемента массива. Затем делается вставка третьего элемента в соответствующее место по отношению к первым двум элементам. Четвертый элемент помещают в список из уже упорядоченных трех элементов. Этот процесс повторяется до тех пор, пока все элементы не будут упорядочены. Пример. Имеется массив из восьми элементов. Нужно седьмой элемент вставить между вторым и четвертым
Рис. 9.20. Процесс вставки элемента в массив Сохраним седьмой элемент во вспомогательной переменной Х, а на его место переместим шестой элемент, на место шестого поместим пятый, на место пятого помести четвертый, на место четвертого помести третий. На место третьего поместим их переменой Х седьмой элемент.
Рис.9.21. Сортировка массива вставкой Удаление элемента из массива Необходимо удалить из массива Х, состоящего из n элементов, m -й по номеру элемент. Для этого достаточно записать элемент (m+1) на место элемента m, (m+2) на место (m+1) и т.д (рис.5.20, таблица 9.9.). Таблица № 9.9. Процесс удаления элемента из массива
Рис. 9.20. Алгоритм удаления элемента из массив
Дата добавления: 2014-01-04; Просмотров: 1339; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |