Urejanje z vstavljanjem/Implementacija (Java)

Iz MaFiRaWiki

  1. public static void vstavljanje(int[] a) {
  2. for (int i = 1; i < a.length; ++i) {
  3. int j = i;
  4. int t = a[j];
  5. while (j > 0 && a[j-1] > t) {
  6. a[j] = a[j-1];
  7. --j;
  8. }
  9. a[j] = t;
  10. }
  11. }

  1. public static void vstavljanje(int[] a){
  2. //metoda za ureditev števil v tabeli od najmanjšega do največjega
  3. //algoritem: urejanje z vstavljanjem
  4.  
  5. //nastavimo zanko za pregled števil v tabeli od drugega števila do konca tabele
  6. //(prvo število je že v urejenem delu)
  7. for (int i = 1; i < a.length; ++i) {
  8.  
  9. int j = i; //spremenljivka za notranjo zanko
  10.  
  11. //zapomnimo si trenutno število (prvo v neurejenem delu)
  12. int t = a[j];
  13.  
  14. //od zadaj proti začetku tabele pregledujemo števila, ki stojijo pred trenutnim
  15. // številom v urejenem delu ...
  16. while (j > 0 && a[j-1] > t) { // ... in dokler so večja od trenutnega števila, ...
  17. a[j] = a[j-1]; // ... jih prestavljamo za eno mesto naprej
  18. --j;
  19. }
  20.  
  21. //prestavljanje števil se zaključi, ko pridemo na začetek tabele (indeks 0) ...
  22. //... ali pa, ko število na predhodnem mestu ni večje od trenutnega števila
  23.  
  24. //na tekoče mesto sedaj vstavimo trenutno število,
  25. //ki je s tem na ustreznem mestu v urejenem delu (pred večjimi števili in za
  26. // manjšimi ali enakimi)
  27. a[j] = t;
  28. }
  29. }
Osebna orodja