вторник, 25 января 2011 г.

Сортировка пузырьком паскаль

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



Вход: массив A, состоящий из элементов A[1], A[2], ..., A[n-1], A[n]

t := истина
цикл пока t:
t := ложь
цикл для j = 1, 2, ..., n − 1:
если A[j] > A[j+1], то:
обменять местами элементы A[j] и A[j+1]
     t := истина                                                               

Вот собственно алгоритм сортировки, псевдокод. Алгоритм в википедии.

Теперь напишим функцию на паскале сортировки.
 
    2. Функция сортировки.

Function sort(a: Massiv): Integer; \\ Функция. Название функции sort
var
i,j,s: Integer; \\ Обьявление переменных.
begin
for i := 1 to 5 do \\ Цикл.
begin
ReadLn(a[i]); \\ Заполнение цикла.
end;
for j := 1 to 5-1 do \\ Цикл j
for i := 1 to 5-j do  \\ Цикл i
if a[i] > a[i+1] then \\ Сравнение массива
begin
s := a[i]; \\ Присваивание переменной s массив
a[i] := a[i+1];
a[i+1] := s;
end;
For i := 1 to 5 do
begin
WriteLn('|',a[i],'|');
end;
end; \\ Конец.         
Функцию мы написали. Теперь нужно написать программу, и использовать эту функцию.

3. Полная программа, сортировки массива. Функцией.
Program SortirovkaMetodomPuzirika;
Type Massiv = Array[1..5] of Integer;
Var
i: Integer;
a: Massiv;
Function sort(a: Massiv): Integer;
var
i,j,s: Integer;
begin
for i := 1 to 5 do
begin
ReadLn(a[i]);
end;
for j := 1 to 5-1 do
for i := 1 to 5-j do
if a[i] > a[i+1] then
begin
s := a[i];
a[i] := a[i+1];
a[i+1] := s;
end;
For i := 1 to 5 do
begin
WriteLn('|',a[i],'|');
end;
end;
begin \\ Идет блок программы
Sort(a); \\ Использование функции
end.
Вот и вся программа сегодня мы научились сортировать массив методом пузырька.

1 комментарий:

  1. Не вижу смысла этого поста. Во первых не написано ничего про саму сортировку, во вторых не написана скорость её работы, в третьих рисунок можно было бы, который описывает алгоритм.

    ОтветитьУдалить

Сделай автору приятно - оставь комментарий!