Вы бы назвали этот алгоритм пузырьковой сортировкой?

В общем такой код
const
    maxn = 100;
var
    a: array[1..maxn] of longint;
    i, j, r, n: longint;
begin
    readln(n);
    for i:= 1 to n do
        read(a[i]);
    for i:= 1 to n-1 do
        for j:= i+1 to n do
            if a[i] > a[j] then
            begin
                r:= a[i]; a[i]:= a[j]; a[j]:= r;
            end;
    for i:= 1 to n do
        write(a[i], ' ');
    writeln;
end.
  • Вопрос задан
  • 983 просмотра
Решения вопроса 1
Winsik
@Winsik
сис.админ, недопрограммист :)
основной принцип пузырьковой сортировки это обмен двух близлежащих элементов массива проходя по всем элементам.
А вы сами как думаете ?

UPD1:
const
    maxn = 100;
var
    a: array[1..maxn] of longint;
    i, j, r, n: longint;
begin
    readln(n);
    for i:= 1 to n do
        read(a[i]);
    for i:= 1 to n-1 do
        for j:= i+1 to n do
            if a[j] > a[j-1] then
            begin
                r:= a[j]; a[j]:= a[j-1]; a[j-1]:= r;
            end;
    for i:= 1 to n do
        write(a[i], ' ');
    writeln;

end.


UPD2: но вот так правильнее:
const
    maxn = 100;
var
    a: array[1..maxn] of longint ;
    i, j, r,n : longint;
begin
    readln(n);
    for i:= 1 to n do
        read(a[i]);
    for i:= 1 to n do
        for j:= 1 to n-i do
            if a[j] > a[j+1] then
            begin
                r:= a[j]; a[j]:= a[j+1]; a[j+1]:= r;
            end;
    for i:= 1 to n do
        write(a[i], ' ');
    writeln;

end.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Olej
@Olej
инженер, программист, преподаватель
Если вопрос стоит именно так: "Вы бы назвали бы этот алгоритм пузырьковой сортировкой?", то, безусловно, ответ: показанный первоначально код является вариантом пузырьковой сортировки - наихудшим из известных алгоритмов сортировки.
Мелкие вариации в реализации на название метода не влияют.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы