Urejanje z izbiranjem/Implementacija Java

Iz MaFiRaWiki

  1. public static void uredi_z_izbiranjem(Comparable[] a) {
  2. //metoda za ureditev podatkov v tabeli od najmanjšega do največjega
  3. //algoritem: urejanje z izbiranjem
  4.  
  5. //nastavimo zanko za pregled vseh elementov v tabeli od začetka do konca
  6. //skozi zanko elemente iz neurejenega dela dodajamo v urejeni del
  7. for (int i = 0; i < a.length; i++) {
  8. //nahajamo se na začetku neurejenega dela (vsa mesta v tabeli, ki smo jih že pregledali, so
  9. // že v urejenem delu)
  10. int k = i; //spremenljivka za indeks najmanjšega elementa v neurejenem delu
  11. //(najprej vzamemo prvi element v neurejenem delu za najmanjšega)
  12. //nastavimo zanko za primerjavo najmanjšega z vsemi ostalimi elementi v neurejenem delu
  13. for (int j = i+1; j < a.length; j++) {
  14. if (a[k].compareTo(a[j]) > 0) { k = j; } //če najdemo manjšega od najmanjšega, k posodobimo
  15. }
  16.  
  17. //najmanjšega zamenjamo s prvim elementom v neurejenem delu:
  18. Comparable t = a[i]; //najprej si zapomnimo vrednost prvega v neurejenem delu
  19. a[i] = a[k]; //na prvo mesto v neurejenem delu sedaj postavimo najmanjšega
  20. a[k] = t; //tistega, ki je bil prvi v neurejenem delu, postavimo na "izpraznjeno" mesto
  21.  
  22. //najmanjši element iz neurejenega dela je sedaj na začetku neurejenega dela oziroma na koncu
  23. // urejenega dela
  24. }
  25. }
Osebna orodja