Zenbaki osoen array bat irudikatzen dute dantzariek, aukeraketa algoritmoa aplikatuz arraya sailkatuko dute
Demagun array dimentsiobakar bat dugula (bektore bat) eta bere elementuak zenbaki errealak direla, 0-tik 9-ra bitarteko alde osoa eta dezimal bakarra duten zenbaki errealak alegia. Eskatzen digute array hori sailkatzea txikitik handira. Lagungarria izan daitekeelakoan, hitzezko azalpena ArrayAlgoritmoak_5 [36 minutu 54 segundo] bideo honetan ikus dezakezu.
Sailkatzeko algoritmo desberdinetatik aukeraketa algoritmoa azalduko dugu ulerterraza delako, une bakoitzean zenbakirik txikiena aukeratuko dugu. Hauxe litzateke algoritmoaren irudia:
Eskeman ikus daitekeenez k kontagailuaren laugarren iterazioan gaude, ordurako array sailkatuaren lehen hiru elementuak zehaztu dira, eta iterazio honetan aurkituko den minimoa gelaxka ilunean kokatuko dugu (k=4 posizioan alegia). Laugarren iterazioari dagokion minimoa bilatzeko, arrayaren sailkatu/ordenatu gabeko aldean begiratu beharra dago eta horretarako j kontagailua erabiliko da.
k=4 iterazioari dagokion minimoa zehazteko Min eta Pos aldagai laguntzaileen bitartez egiten da. Hasiera batean Min aldagaian sailkatu/ordenatu gabeko tartearen lehen elementuaren balioa gordetzen da, hots, Min aldagaian A[k] elementuaren balioa gordetzen da eta Pos aldagaian elementu horri dagokion k posizioa. Hasieraketak egin ondoren, barneko FOR-DO bitartez sailkatu/ordenatu gabeko aldea aztertzen da elementurik txikiena zehaztuz (bere balioa eta bere posizioa zehaztuz). Laugarren iterazioan minimoa zein den jakitean, array sailkatuan dagokion tokira (k=4 posiziora) eraman behar da, horregatik k eta Pos indizedun elementuak elkar trukatu egin behar dira.
Hona hemen iturburu-programa:
Gauza bera egin daiteke erregistroen bektore batekin. Ikus dezagun adibidez ondoko erregistroan oinarritutako bektore bat nola sailkatuko dugun:
...
const
BEHEMUGA = 1 ;
GOIMUGA = 9 ;
type
tsKatea = string[20] ;
trdDatuak = record
sIzena: tsKatea ;
rZenbakia: real ;
end ;
tardZerrenda = array[BEHEMUGA..GOIMUGA] of trdDatuak ;
...
Hona hemen iturburu-programa:
Baina ikusi dugun aukeraketa algoritmoa ez da bakarra, array bat sailkatzeko algoritmo asko daude. Grafikoak eta soinuak erabiliz hemen erakusten dira algoritmo garrantzitsuenak:
iruzkinik ez:
Argitaratu iruzkina