Метод пузырька.
Добавлено: 01.07.2010 20:06:14
Делаю сейчас лабы к зачёту, и там сортировка массивов и обьясняется сортировка пузырьком. Так вот дан такой код в примере ( сортирует по возрастанию 10 рандомных чисел):
вопрос именно к этому куску
Имееем массив (1, 3, 17, 20, 4, 7, 9, 13, 11, 1) И этот алгоритм сортирует его таким образом:
a) 1, 3, 17, 4, 7, 9, 13, 11, 1, 20; { Это первый проход}
b)1, 3, 4, 7, 9, 13, 11, 1, 17, 20; { Второй проход }
c)1, 3, 4, 7, 9, 11, 1, 13, 17, 20; { Третий} и т.д.
Ну вот в этом коде я не понимаю как это реализуется, сколько пытался понять, не понимаю как это в нём работает ( или я неправильно алгоритм понял?)
Если кому несложно и кто меня понял, обьясните мне пожалуйста или дайте ссылочку, где можно почитать об этом. Просто я жалкий и унылый недоWEBер и => я глуп.
- Код: Выделить всё
program puzirok;
uses crt;
conts n=10;
vat i,j: word;
s: word;
a: array[1..n] of word;
begin
clrscr;
randomize;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>= a [j] then
begin
s:=a[i]; a[i]:=a[j]; a[j]:=s;
end;
for i:=1 to n do write(a[i]:5);
writeln;
readln;
end.
вопрос именно к этому куску
- Код: Выделить всё
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>= a [j] then
begin
s:=a[i]; a[i]:=a[j]; a[j]:=s;
end;
Имееем массив (1, 3, 17, 20, 4, 7, 9, 13, 11, 1) И этот алгоритм сортирует его таким образом:
a) 1, 3, 17, 4, 7, 9, 13, 11, 1, 20; { Это первый проход}
b)1, 3, 4, 7, 9, 13, 11, 1, 17, 20; { Второй проход }
c)1, 3, 4, 7, 9, 11, 1, 13, 17, 20; { Третий} и т.д.
Ну вот в этом коде я не понимаю как это реализуется, сколько пытался понять, не понимаю как это в нём работает ( или я неправильно алгоритм понял?)
Если кому несложно и кто меня понял, обьясните мне пожалуйста или дайте ссылочку, где можно почитать об этом. Просто я жалкий и унылый недоWEBер и => я глуп.