Bubble sorting
From GMpedia.org Wiki
Bubble sorting is a sorting mechanism that keeps comparing successive numbers and sorting them correctly until they are completely sorted.
Contents |
[edit] Example
Note that the example is written in common language, and not an actual programming language.
DEFINING VARIABLES:
INITIALIZE (VAR) AS ARRAY
VAR[01]=11;
VAR[02]=6;
VAR[03]=18;
VAR[04]=17;
VAR[05]=2;
VAR[06]=3;
VAR[07]=1;
VAR[8]=19;
VAR[9]=25;
VAR[10]=20;
VAR[11]=16;
VAR[12]=5;
VAR[13]=26;
VAR[14]=27;
VAR[15]=9;
VAR[16]=21;
VAR[17]=4;
VAR[18]=15;
VAR[19]=28;
VAR[20]=22;
VAR[21]=24;
VAR[22]=7;
VAR[23]=30;
VAR[24]=10;
VAR[25]=29;
VAR[26]=14;
VAR[27]=23;
VAR[28]=8;
VAR[29]=12;
VAR[30]=13;
INITIALIZE (SORTED)=FALSE, (COUNT)=0, (WRONG)=0, (TMP1)=0, (TMP2)=0, (I)=0, (TOTAL)=0
TOTAL=30 <-- this is the total number of variables to be sorted
WRITE "BUBBLE SORTING WILL BEGIN"
FOR I=1 TO TOTAL
WRITE VAR(I)
NEXT I
WHILE SORTED==FALSE
FOR I=1 TO TOTAL
IF I<TOTAL
BEGIN
IF VAR[I]>VAR[I+1]
BEGIN
ADD 1 TO (WRONG)
SET (TMP1) TO (VAR[I])
SET (TMP2) TO (VAR[I+1])
SET (VAR[I]) TO (TMP2)
SET (VAR[I+1]) TO (TMP1)
END
WRITE VAR[I]
END
IF WRONG EQUALS 0
BEGIN
SET (SORTED) TO (TRUE)
END
ELSE
BEGIN
SET (WRONG) TO 0
SET (SORTED) TO FALSE
END
NEXT I
END-WHILE
[edit] Sorting
[edit] Initially11 6 18 17 2 3 1 19 25 20 16 5 26 27 9 21 4 15 28 22 24 7 30 10 29 14 23 8 12 13 | |||||||||
[edit] Round 16 11 17 2 3 1 18 19 20 16 5 25 26 9 21 4 15 27 22 24 7 28 10 29 14 23 8 12 30 |
[edit] Round 26 11 2 3 1 17 18 19 16 5 20 25 9 21 4 15 26 22 24 7 27 10 28 14 23 8 12 29 30 |
[edit] Round 36 2 3 1 11 17 18 16 5 19 20 9 21 4 15 25 22 24 7 26 10 27 14 23 8 12 28 29 30 |
[edit] Round 42 3 1 6 11 17 16 5 18 19 9 20 4 15 21 22 24 7 25 10 26 14 23 8 12 27 28 29 30 |
[edit] Round 52 1 3 6 11 16 5 17 18 9 19 4 15 20 21 22 7 24 10 25 14 23 8 12 26 27 28 29 30 |
[edit] Round 61 2 3 6 11 5 16 17 9 18 4 15 19 20 21 7 22 10 24 14 23 8 12 25 26 27 28 29 30 |
[edit] Round 71 2 3 6 5 11 16 9 17 4 15 18 19 20 7 21 10 22 14 23 8 12 24 25 26 27 28 29 30 |
[edit] Round 81 2 3 5 6 11 9 16 4 15 17 18 19 7 20 10 21 14 22 8 12 23 24 25 26 27 28 29 30 |
[edit] Round 91 2 3 5 6 9 11 4 15 16 17 18 7 19 10 20 14 21 8 12 22 23 24 25 26 27 28 29 30 |
[edit] Round 101 2 3 5 6 9 4 11 15 16 17 7 18 10 19 14 20 8 12 21 22 23 24 25 26 27 28 29 30 |
[edit] Round 111 2 3 5 6 4 9 11 15 16 7 17 10 18 14 19 8 12 20 21 22 23 24 25 26 27 28 29 30 |
[edit] Round 121 2 3 5 4 6 9 11 15 7 16 10 17 14 18 8 12 19 20 21 22 23 24 25 26 27 28 29 30 |
[edit] Round 131 2 3 4 5 6 9 11 7 15 10 16 14 17 8 12 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[edit] Round 141 2 3 4 5 6 9 7 11 10 15 14 16 8 12 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[edit] Round 151 2 3 4 5 6 7 9 10 11 14 15 8 12 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[edit] Round 161 2 3 4 5 6 7 9 10 11 14 8 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[edit] Round 171 2 3 4 5 6 7 9 10 11 8 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[edit] Round 181 2 3 4 5 6 7 9 10 8 11 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[edit] Round 191 2 3 4 5 6 7 9 8 10 11 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[edit] Round 201 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[edit] Round 21 (Final)1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |||||||||

