Liste de sortare (prolog), manager

Creați predicate pentru a sorta liste de numere. O altă sarcină pe RLP, restul pe care îl puteți găsi aici.

Ideea acestei metode este după cum urmează. La fiecare pas, sunt comparate două elemente de listă adiacente. Dacă se dovedește că acestea greșesc, adică elementul anterior este mai mic decât cel din urmă, atunci schimbă locurile. Acest proces continuă atât timp cât există perechi de elemente învecinate în ordine greșită. Aceasta va însemna că lista este sortată. Implementăm sortarea cu bule prin intermediul a două predicate. Una dintre ele, să o numim permutare, va compara primele două elemente ale listei și, în cazul în care primul se dovedește a fi mai mare decât al doilea, schimbați-le în funcție de locații. Dacă prima pereche este în ordinea corectă, acest predicat va continua să ia în considerare coada. Bubul predicat de bază va efectua sortarea cu bule a listei folosind predicatul auxiliar permutării.













Modul de introducere se bazează pe faptul că dacă coada listei este deja sortată, atunci este suficient să plasați primul element al listei în locul său în coadă și întreaga listă va fi sortată.

Ideea algoritmului de sortare este foarte simplă. În listă, găsim elementul minimal. Eliminați-l din listă. Lista restantă este sortată. Atribuiți elementul minim ca cap în lista sortată. Deoarece acest element a fost mai mic decât toate elementele din lista sursă, acesta va fi mai mic decât toate elementele listei sortate. Și, prin urmare, dacă este plasat în capul listei sortate, atunci ordinea nu va fi încălcată.

Ideea metodei este următoarea. Alegem un element "barieră", în legătură cu care divizăm lista originală în două subliste. În una, plasăm elemente mai puțin decât elementul barieră, în al doilea - mai mare sau egal. Ordonăm fiecare dintre aceste liste în același mod, după care atribuim listei acele elemente care sunt mai puțin barieră, la început elementul de barieră în sine, și apoi - lista elementelor nu mai puțin barieră. În consecință, obținem o listă constând din elementele care sunt în ordinea corectă.

Ideea acestei metode este după cum urmează. Am împărțit lista care urmează să fie sortată în două sub-liste. Aranjăm fiecare dintre ele prin aceeași metodă și apoi sub-listele comandate sunt reunite într-o singură listă comună.







Articole similare

Trimiteți-le prietenilor: