Практическая работа №6

Вид материалаПрактическая работа
Подобный материал:
Практическая работа №6.

Различные методы сортировки и поиска элементов массива.


Цель: изучить различные методы поиска и упорядочивания элементов массива

Оборудование: IBM - совместимые компьютеры с установленной средой программирования Turbo Pascal 7.0, методическое пособие.

Ход занятия:

Сортировка массивов.

  1. Рассмотрим массив целых или действительных чисел а1, …,аn. Пусть требуется переставить элементы этого массива так, чтобы после перестановки они были упорядочены по неубыванию: а1а2…аn. Эта задача называется задачей сортировки или упорядочивания массива (эту же задачу можно рассматривать применительно к упорядочению по невозрастанию: а1а2…аn; если числа попарно различны, то можно говорить об убывании и о возрастании). Для решения этой задачи можно воспользоваться, например, следующими алгоритмами:
    1. Найти элемент массива, имеющий наименьшее значение, переставить его с первым элементом, затем проделать то же самое, начав со второго элемента и т. д. (Сортировка выбором).
    2. Последовательным просмотром чисел а1, …аn найти наименьшее i такое, что аi  ai+1. Поменять аi и аi+1 местами, возобновить просмотр с элемента аi+1 и т. д. Тем самым наибольшее число передвинется на последнее место. Следующие просмотры начинать опять сначала, уменьшая на единицу количество просматриваемых элементов. Массив будет упорядочен после просмотра, в котором участвовали только первый и второй элементы. (Сортировка обменами).
    3. Просматривать последовательно а2, …, аn и каждый новый элемент аi вставлять на подходящее место в уже упорядоченную совокупность а1, …,аi-1. Это место определяется последовательным сравнением аi с упорядоченными элементами а1, …,аi-1. (Сортировка вставками).
  2. Дана действительная матрица размера ; упорядочить (переставить) строки матрицы:
    1. по неубыванию значений первых элементов строк;
    2. по невозрастанию сумм элементов строк;
    3. по неубыванию значений наименьших элементов строк;
    4. по невозрастанию значений наибольших элементов строк.
      В заданиях b), c), d) разрешается дополнительно определить числовой массив а1,…,аn.