Pozdrav,
pocetnik sam u C++ i na predavanju smo odradili zadatak koji sortira unesene brojeve uzlazno....Nije mi jasno kako program radi , pa ako netko moze da ukratko objasni kako program radi , ovo je kod :
kod je na slici jer forum nije htio prihvatiti ovakvu poruku..
ovdje je namjesteno za samo 2 broja , molio bih nekoga tko se razumi da ukratko objasni sta se dogadja s brojevima kada ih unesem.
hvala puno
Ovo je selection sort algoritam.
Njegov princip rada se zasniva na radu petlje u petlji. A petlja u petlji radi tako da se za svaku iteraciju vanjske petlje odvrte sve iteracije unutarnje petlje.
Algoritam dijeli niz na sortirani i nesortirani dio, a završava kad cijeli niz postane sortirani dio.
primjer:
8 5 1 9
1. cijeli niz je nesortirani dio, počinjemo od prvog nesortiranog elementa u nizu, a to je 8 i drugom petljom pregledavamo preostale elemente
- 8 zamjenjuje mjesto sa 5 i imamo niz 5 8 1 9
- 5 zamjenjuje mjesto sa 1 i imamo niz 1 8 5 9
na kraju prolaza unutarnje petlje na prvom mjestu imamo najmanji element na prvom mjestu i sada je taj element sortirani dio niza.
2. nesortirani dio niza je 8 5 9, počinjemo od 8 i unutarnjom petljom gledamo preostale elemente
- 8 zamjenjuje mjesto sa 5 i imamo niz 1 5 8 9
na kraju prolaza unutarnje petlje na drugom mjestu imamo broj 5 i sada je sortirani dio niza 1 5
3. nesortirani dio niza je 8 9, poćinjemo od 8 i gledamo element 9
na kraju prolaza unutarnje petlje na trećem mjestu imamo broj 8 i sada je sortirani dio niza 1 5 8 9 jer kad smo sortirali predzadnji element u paru sa zadnjim, sortirali smo i zadnji.
Napomena, broj zamjena unutar unutarnje petlje se može smanjiti uvođenjem varijable koja pamti najmanji element tako da ovaj algoritam nije najefikasniji.
