Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алг яз Лаб 4(I-ИСТ).doc
Скачиваний:
3
Добавлен:
05.11.2018
Размер:
232.96 Кб
Скачать

2.4.4. Сравнение прямых методов сортировки

Теоретические и практические исследования алгоритмов прямых методов сортировки показали, что как по числу сравнений, так и по числу присваиваний они имеют квадратичную зависимость от длины массива n. Исключение составляет метод выбора, который имеет число присваиваний порядка n*ln(n). Это свойство алгоритма выбора полезно использовать в задачах сортировки в сложных структурах данных, когда на одно сравнение выполняется большое число присваиваний. В таких задачах метод выбора успешно конкурирует с самыми быстрыми улучшенными методами сортировки.

Если сравнить рассмотренные прямые методы между собой, то в среднем методы вставки и выбора оказываются приблизительно эквивалентными и в несколько раз (в зависимости от длины массива) лучше, чем метод обмена («пузырька»).

2.5. Пример сортировки методом «пузырька»

Const N=100;

Var i, Temp: integer;

A: array[1..N] of integer;

Flag: boolean;

Begin

Randomize;

Writeln('Несортированный массив');

For i:=1 To N Do begin A[i]:=random(50); Write(A[i]:3); end;

Writeln;

Flag:=true;

While Flag Do

Begin

Flag:=false;

For i:=1 To N-1 Do

begin

If A[i]>A[i+1] Then

begin

Temp:=A[i];

A[i]:=A[i+1];

A[i+1]:=Temp;

Flag:=true;

end;{If}

end;{For}

end;{While}

Writeln('Отсортированный массив');

For i:=1 To N Do Write(A[i]:3);

readln;

End.

3. Порядок выполнения работы

Работа выполняется студентом самостоятельно и состоит из этапов:

1) изучение методических указаний по выполнению лабораторной работы и получение индивидуального задания;

2) составление алгоритма и программы на алгоритмическом языке Pascal;

3) отладка программы;

4) защита лабораторной работы.

Общие требования к программе:

  • текст программы представляется в электронном виде и должен включать постановку задачи, сведения об авторе и подробные комментарии;

  • названия переменных должны быть логически обоснованны и давать понятие о том, что в них предполагается хранить или обрабатывать;

  • программа должна запрашивать входные данные и выводить итоговый результат с пояснениями.

4. Список заданий

Для выполнения данной лабораторной работы необходимо написать программу на языке Pascal, которая сортирует данные указанным методом.

Программа состоит из следующих этапов:

  1. Объявление необходимой области данных (константы, переменные, массивы).

  2. Заполнение массивов неупорядоченными данными.

  3. Вывод массива с данными.

  4. Формирование циклов, в которых выполняется сортировка данных.

  5. Вывод массива с данными.

варианта

1

2

3

4

5

6

7

8

9

10

11

Задание

1A

1B

1C

1D

1E

2A

2B

2C

2D

2E

3A

варианта

12

13

14

15

16

17

18

19

20

21

22

Задание

3B

3C

3D

3E

1A

1B

1C

1D

1E

2A

2B

варианта

23

24

25

26

27

28

29

30

Задание

2C

2D

2E

3A

3B

3C

3D

3E

Примечание.

1. Методы сортировки:

1 – вставкой;

2 – выбором;

3 – обменом.

2. Содержимое массива:

A – прописные латинские;

B – заглавные латинские;

С – прописные русские;

D – заглавные русские;

E – вещественные числа.

3. Направление сортировки:

 - по возврастанию;

 - по убыванию.