Bubble sorting

From GMpedia.org Wiki

Jump to: navigation, search

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] Initially

11
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 1

6
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 2

6
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 3

6
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 4

2
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 5

2
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 6

1
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 7

1
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 8

1
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 9

1
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 10

1
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 11

1
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 12

1
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 13

1
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 14

1
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 15

1
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 16

1
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 17

1
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 18

1
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 19

1
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 20

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

[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

[edit] Examples in other languages

Personal tools