Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Сортировка обменом (пузырьковая Сортировка)



Принцип метода:

Слева направо поочередно сравнивается два соседних элемента, и если их взаиморасположение не соответствует заданному условию упорядоченности, то они меняются местами. Далее берутся два следующих соседних элемента и так далее до конца массива.

После одного такого прохода на последней n -ой позиции массива будет стоять максимальный элемент («всплыл» первый «пузырек»). Поскольку максимальный элемент уже стоит на своей последней позиции, то второй проход обменов выполняется до n-1 -го элемента. И так далее. Всего требуется n-1 проход.

Программа, реализующая метод обмена («пузырька»), будет иметь следующий вид:

Program BubbleSort;

uses Ctr;

const

n= 20; { длина массива }

type

TVector = array [1…n] of Real;

var

Vector: TVector;

B: Real;

i, k: Integer;

begin

ClrScr;

Writeln('Введите элементы массива:');

for i:=1 to n do

Read (Vector[i]);

Readln;

{_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ }

for k:= n downto 2 do

{«Всплывание» очередного максимального элемента на k-ю позицию}

for i:= 1 to k-1 do

if Vector [i] > Vector [i+1] then

begin

B: =Vector[i];

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

Vector[i+1]:= B

end;

{_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _}

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

for i:=1 to n do

Write (Vector [i]: 8: 2);

Writeln;

End.

Задачи

1. Заполнить одномерный массив из n – элементов целых чисел. Упорядочить его:

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

б) по убыванию.

2. Заполнить одномерный массив из n – элементов целых чисел. Упорядочить первую половину элементов по возрастанию, вторую по убыванию.

3. Заполнить строку из латинских символов. Упорядочить символы строки по алфавиту, сначала заглавные, затем строчные. Символы, не являющиеся буквами исключить.

4. Заполнить строку из символов русского алфавита. Упорядочить символы по алфавиту, сначала заглавные, затем строчные символы. Символы, не являющиеся буквами исключить.

5. Заполнить строку из символов русского алфавита. Упорядочить слова, образующие строку, по алфавиту. Лишние пробелы и знаки препинания исключить.

6. Заполнить строку из символов русского алфавита. Упорядочить слова, образующие строку, по возрастанию количества их символов.





Дата публикования: 2015-06-12; Прочитано: 196 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...