Java sortowanie zbiorów

0

Witam wszystkich.
Napisałem algorytm sortowania przez proste wstawianie, ale mam problem.Po ustawieniu wartownika przy ostatnim elemencie zostawia go tam.Gdzie jest błąd? :-( Chciałbym wsadzić też licznik do zliczenia porównań w pętli while.while(porElement<tablica[j]) Między te nawiasy, aby zliczło ilość porównań da sie go jakoś wsadzić?

 static int[] sortowanieProsteWstawianie ( int tablica[]){

                 int licznikPrzesuniec = 0;
                 int licznikPorownan = 0;
                 int licznikPrzesuniecWhile = 0;
                 for( int i = 1; i < tablica.length; i++ ){
                     licznikPrzesuniec++;
                     int porElement = tablica[i];
                     tablica[0] = porElement;
                      int j = i -1;
                          licznikPorownan++;
                          while(porElement<tablica[j]){
                                tablica[j+1] = tablica[j];
                                j--;
                                licznikPrzesuniecWhile++;
                              }
                      tablica[j+1] = porElement;
                         }
                  System.out.println("Ilość przesunięć: " + 2 * licznikPrzesuniec );
                  System.out.println("Ilość porównań: " + licznikPorownan );
                  System.out.println("Ilość przesunięć wewnątrz pętli while: " + licznikPrzesuniecWhile );
                  System.out.println();
                  return tablica;
                 }
0

w while brakuje Ci dodatkowego warunku

j>0
0

Taki mały offtop, po co ci algorytm sortujący w javie :>

1 użytkowników online, w tym zalogowanych: 0, gości: 1