Ocena użytkownikóww: ***** / 17
Nadesłany przez Przemysław Pobiedziński, 03 marca 2013 23:57
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
bubble.java:
/**
* Sortowanie liczb calkowitych metoda babelkowa
* Program zostal pobrany ze strony www.algorytm.org
*/
import java.util.Scanner;
public class bubble {
private static void b_sort(int tab[]){
int temp;
int zmiana = 1;
while(zmiana > 0){
zmiana = 0;
for(int i=0; i<tab.length-1; i++){
if(tab[i]>tab[i+1]){
temp = tab[i+1];
tab[i+1] = tab[i];
tab[i] = temp;
zmiana++;
}
}
}
for(int i=0; i<tab.length; i++){
System.out.print(tab[i]+" ");
}
}
public static void main(String[] args) {
int ilosc;
Scanner in = new Scanner(System.in);
System.out.println("Podaj ilość elementów tablicy");
ilosc = in.nextInt();
int[] tab = new int[ilosc];
for(int i=0; i<tab.length; i++){
System.out.println("Podaj element tablicy:");
tab[i] = in.nextInt();
}
b_sort(tab);
}
}
Zamiast pętli while można by zastosować pętlę do-while i nie inicjować zmiennej jakąś wartością !=0.
Zmienna tmp powinna być zadeklarowana wewnątrz if, a w ogóle to do zamiany elementów należy zdefiniować osobną funkcję.