Java:
public class BubbleSort2{
public static void bubble(int[] a){
boolean end;
int i = 0;
int j = 0;
do{
end = true;
i = 1;
do{
if(a[i-1] < a[i]){
int buff = a[i];
a[i] = a[i-1];
a[i-1] = buff;
end = false;
}
i++;
}
while(i < a.length - j);
j++;
}
while(end == false);
}
public static void main(String[] args){
int[] a = {12,18,7,2,8,8,4,15};
bubble(a);
}
}
Moin,
sieht ja recht einfach aus, versteh ich das richtig ?
erster Durchlauf
i = 1
a[0] = 12 < a[1] = 18
buff = 18
a[1] ist 18 = a[0] ist 12
a[0] ist 12 = buff
Hier wird 12 und 18 vertauscht
zweiter Durchlauf
a[1] = 18 < a[2] = 7
macht also nix ?
......
vierter Durchgang
i = 4
a[3] = 2 < a[4] = 8
buff = 8
a[4] ist 8 = a[3] ist 2
a[3] ist 2 = buff
12 18 7 2 8 8 4 15 --- Array vor Durchlauf der äußeren do-while-Schleife
18 12 7 2 8 8 4 15 --- Array nach 1. Durchlauf 12 und 18 werden vertauscht
18 12 7 2 8 8 4 15 --- 2. Durchlauf passiert nix
18 12 7 2 8 8 4 15 --- 3. Durchlauf passiert nix
18 12 7 8 2 8 4 15 --- 4. Durchlauf 2 und 8 werden vertauscht
18 12 7 2 8 8 4 15 --- 5. Durchlauf passiert nix
Zuletzt bearbeitet: