пузырьковая сортировка



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

Автор Джокер задал вопрос в разделе Другие языки и технологии

Паскаль: пузырьковый метод(сортировка). и получил лучший ответ

Ответ от 1_and_0[гуру]
выборка происходит не катого и джитого элементов, а J и J+1, сравниваются два соседних.

Ответ от 12782724[гуру]
Шейкерная сортировка (улучшенный вариант метода пузырька)
program ShakerSort;
const lim = 50;
type T = Integer;
Vector = array[1..lim] of T;
Var i, N, L, R, p : Byte;
tmp: T;
flag: Boolean;
a: Vector;
Begin
Readln(N);
For i:=1 to N do Begin
Readln(a);
End;
L:=N; R:=N;
Repeat
flag:=false;
For i:=L to R-1 do Begin
If a › a[i+1] then Begin
tmp:=a; a:=a[i+1]; a[i+1]:=tmp;
p:=i;
flag:=true;
End;
End;
R:=p;
For i:=R-1 downto L do Begin
If a › a[i+1] then Begin
tmp:=a; a:=a[i+1]; a[i+1]:=tmp;
p:=i;
flag:=true;
End;
End;
L:=p;
until flag;
Write('Результат сортировки: ');
For i=1 to n do
Write(a,' ')
End.
можете посмотреть и сортировку Шелла она более интересная))

Ответ от Krab Вark[гуру]
for i:=1 to n-1 do for j:=1 to n-1 do if a[j]=1 then begin t:=a[j];a[j]:=a[j+1];a[j+1]:=t end;
Вот и всё. b-1 проходов по массиву, и пузырьки гарантированно всплыли. Можно еще слегка сэкономить:
for i:=1 to n-1 do for j:=1 to i-1 do if a[j]>a[j+1] then begin t:=a[j];a[j]:=a[j+1];a[j+1]:=t end;

Ответ от Ёергей Куликов[гуру]
пузырьковая сортировка содержит в себе 2 цикла - по i и по j. Цикл по i берет первый элемент и сравнивает его в цикле по j со всеми остальными элементами массива (при необходимости меняя элементы местами) , после чего j заканчивается, и цикл по i берет второй элемент массива и т. д. до последнего.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Паскаль: пузырьковый метод(сортировка).
Сортировка пузырьком на Википедии
Посмотрите статью на википедии про Сортировка пузырьком
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*