1 / 24

Sortiranje niza

Sortiranje niza. - metodom zamjene susjednih elemenata niza. Zadatak. osobe poredati po visini od najniže do najviše. O čemu ovisi algoritam?. računalo može u jednom koraku uspoređivati samo dva broja uspoređujemo po dva susjedna elementa u nizu

shiro
Download Presentation

Sortiranje niza

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sortiranje niza - metodom zamjene susjednih elemenata niza

  2. Zadatak • osobe poredati po visini od najniže do najviše

  3. O čemu ovisi algoritam? • računalo može u jednom koraku uspoređivati samo dva broja • uspoređujemo po dva susjedna elementa u nizu • zamjenjujemo im mjesta ako nisu u dobrom poretku

  4. Prvo ponavljanje - 1. korak • uspoređujemo prvu i drugu osobu • nisu u dobrom poretku pa im zamjenjujemo mjesta

  5. 2. korak • uspoređujemo drugu i treću osobu

  6. 3. korak • uspoređujemo treću i četvrtu osobu

  7. 4. korak • uspoređujemo četvrtu i petu osobu

  8. 5. korak • uspoređujemo petu i šestu osobu

  9. Rezultat • na posljednjem je mjestu najviša osoba

  10. Kod n:=6; for rb:=1 to 5 do begin if v[rb]>v[rb+1] then begin t:=v[rb]; v[rb]:=v[rb+1]; v[rb+1]:=t; end; end;

  11. Drugo ponavljanje • postupak ponavljamo na rasponu od prve do pete osobe

  12. Kod n:=6; for rb:=1 to 4 do begin if v[rb]>v[rb+1] then begin t:=v[rb]; v[rb]:=v[rb+1]; v[rb+1]:=t; end; end;

  13. Treće ponavljanje • postupak ponavljamo na rasponu od prve do četvrte osobe

  14. Kod n:=6; for rb:=1 to 3 do begin if v[rb]>v[rb+1] then begin t:=v[rb]; v[rb]:=v[rb+1]; v[rb+1]:=t; end; end;

  15. Četvrto ponavljanje • postupak ponavljamo na rasponu od prve do treće osobe

  16. Kod n:=6; for rb:=1 to 2 do begin if v[rb]>v[rb+1] then begin t:=v[rb]; v[rb]:=v[rb+1]; v[rb+1]:=t; end; end;

  17. Peto ponavljanje • uspoređujemo prvu i drugu osobu

  18. Kod n:=6; for rb:=1 to 1 do begin if v[rb]>v[rb+1] then begin t:=v[rb]; v[rb]:=v[rb+1]; v[rb+1]:=t; end; end;

  19. Rezultat • osobe su poredane po veličini

  20. KOd • očito je da se isti postupak ponavlja n-1 puta • možemo uvesti vanjsku petlju

  21. Kod for br_pon:=1 to n-1 do begin for rb:=1 to n-br_pon do begin if v[rb]>v[rb+1] thenbegin t:=v[rb]; v[rb]:=v[rb+1]; v[rb+1]:=t; end; end; end;

  22. Možemo li poboljšati algoritam? • u našem primjeru nakon trećeg ponavljanja niz je bio uređen • očito je da vanjska petlja ne treba biti petlja s unaprijed zadanim brojem ponavljanja već treba biti petlja s uvjetom • uvodimo logičku varijablu koja prati uređenost parova

  23. Kod br_pon:=1; repeat sortirano:=true; for rb:=1 to n-br_pon do begin if v[rb]>v[rb+1] thenbegin t:=v[rb]; v[rb]:=v[rb+1]; v[rb+1]:=t; sortirano:=false; end; end; br_pon:=br_pon+1; untilsortirano;

  24. Zadatak • Imena učenika u razredu treba učitati u memoriju i sortirati po abecedi.

More Related