Run Code  | API  | Code Wall  | Misc  | Feedback  | Login  | Theme  | Privacy  | Patreon 

BubbleSor (slimmer)

program BubbleSort;

var letters: string;
    i, laatste,
    aantal_wissels,
    aantal_vergelijkingen: integer;
    hulp: char;
    verwisseld: boolean;

begin
    letters := 'EGJACFDBHI';
    laatste := length(letters);
    aantal_vergelijkingen := 0;
    aantal_wissels := 0;
    
    repeat
        verwisseld := false;
        i := 1;
        while (i < laatste) do
            begin
                aantal_vergelijkingen := aantal_vergelijkingen+1;
                if (letters[i]>letters[i+1]) then
                    begin
                        hulp := letters[i];
                        letters[i] := letters[i+1];
                        letters[i+1] := hulp;
                        aantal_wissels := aantal_wissels+1;
                        verwisseld := true;
                    end;
                i := i+1;
            end;
        laatste := laatste-1;
    until not verwisseld;
    writeln (letters);
    writeln (aantal_vergelijkingen);
    writeln (aantal_wissels);
end.
 run  | edit  | history  | help 0