Rendezési listák (prolog), menedzser

Hozzon létre predikátumokat a számlisták rendezéséhez. Az RLP másik feladata, a többi megtalálható itt.

A módszer elgondolása a következő. Minden lépésben két szomszédos listaelemet hasonlít össze. Ha kiderül, hogy rosszak, vagyis az előző elem kisebb, mint a következő, akkor helyeket váltanak. Ez a folyamat mindaddig folytatódik, amíg a szomszédos elemek párjai rendben vannak. Ez azt jelenti, hogy a lista rendezve van. A buborék válogatását két predikátum segítségével hajtjuk végre. Az egyiket nevezzük permutációnak, összevessük a lista első két elemét, és abban az esetben, ha az első több mint a második, kiderül, helyenként változtatjuk. Ha az első pár a megfelelő sorrendben van, akkor ez a predikátum folytatja a farkát. Az alap predikátum buborék elvégzi a lista buborék szerinti osztályozását a segédpermutációs predikátum alkalmazásával.













A beillesztés sorrendje azon a tényen alapul, hogy ha a lista farkája már rendezve van, elegendő ahhoz, hogy a lista első elemét a farkában helyezze el, és a teljes listát sorba rendezzék.

A rendezési algoritmus ötlete nagyon egyszerű. A listában megtaláljuk a minimális elemet. Távolítsa el a listáról. A fennmaradó lista rendezve van. Attribútálja a minimális elemet, mint a fejét a rendezett listához. Mivel ez az elem kisebb volt, mint a forráslisták összes eleme, ez kevesebb lesz, mint a rendezett lista összes eleme. És ennek következtében, ha a rendezett lista fejébe kerül, akkor a megrendelést nem sértik meg.

A módszer elgondolása a következő. Kiválasztunk egy "akadály" elemet, amelyre vonatkozóan az eredeti listát két részlistára osztjuk. Egyben kevésbé elemeket helyezünk el, mint a gát elem, a második - nagyobb vagy egyenlő. Mindegyik listák, mi fajta ugyanúgy, majd tulajdonítunk a lista azokat az elemeket, amelyek kisebbek, mint a gát, a gát elem maga az első, majd - a lista elemeit nem csökkenti a gáton. Ennek eredményeképpen egy olyan listát kapunk, amely a megfelelő sorrendben található elemekből áll.

A módszer elgondolása a következő. A listát két al-listára rendezzük. Mindegyiküket ugyanazon módszerrel rendezzük el, majd a megrendelt al-listákat újraegyesítjük egy közös listába.




Kapcsolódó cikkek