Imk

Rūšiuoti „Lua“ lentelę, lentelę. Rūšiuoti programą

Sort Lua Table Table



Naujausi projektai naudoja rūšiuoti lentelę, aš naudoju table.sort, norėdami rūšiuoti naudodamiesi pagrindinės vertės rūšiavimo lentele, dar tyrinėdami. „Prior“ nebuvo labai aiški lentelė. Rūšiuokite šį metodą, tik galimybė jį įrašyti.

Metodo prototipas: table.sort (lentelė, funkcija (a, b))



Į du parametrus: 1. lentelė ----------- rūšiuojama lentelė



2. funkcija ------- rūšiavimo metodas, gali būti pritaikytas. Jei neužpildote, paspauskite numatytąjį rūšiavimą. Forma yra fiksuota, Rūšiavimo lentelės vertės1, vertės2 parametrai a, b ... (nežinau, kaip šis konkretus aprašymas)



1. neišlaiko rūšiavimo metodas naudoja pasirinktinį:

rezultatas:



Matote, „table.sort“ numatytoji reikšmė yra naudoti lentelėje išsaugotą vertę nuo mažos iki didelės rūšiavimo, reikėtų atkreipti dėmesį į tai, kad jei palyginimo lentelėje yra skaičius ir eilutė, naudojant numatytąjį metodą bus pranešama apie skaičių ir eilutę palyginimo klaida. Taip pat yra keletas kitų duobių, būkite atsargūs, kai (pagal nutylėjimą aš naudoju mažiau)

2. Gaunamas pasirinktinis rūšiavimo būdas:

Pavyzdžiui, gaunama lentelė yra:

Fiksuoto įeinančio metodo formatas yra a

Anoniminė funkcijos funkcija (a, b)

........ (suprantate)

galas

Anoniminė a, b funkcija perduoda dvi lentelės reikšmes, lentelę. Rūšiuoti kas dvi grįžtamąją vertę, perduodamą palyginimo funkciją. Ankstesnis pavyzdys yra t reikšmė.

Palyginimo funkcija tokia:

Rezultatai:

Kadangi funkcijos apibrėžta palyginimo funkcija yra labai galinga, tačiau yra keletas duobių.

pastaba:

1. lentelė. Rūšiavimas nestabilus, kai abu elementai yra vienodi, jie gali pasikeisti santykinėje rūšiuojamoje padėtyje (pasakiau sau, kad dar pasirodė, ji gali naudoti mažiau)

2. Reikalavimai, kuriems reikia rūšiavimo lentelės vidurinio elemento, negali būti nuliniai, kitaip bus klaida

3. Kai abu elementai yra lygūs, kai palyginimas, palyginimas turi funkcionuoti klaidingai, klaida grąžins true, table.sort reikšmė bus vertinama, ar abu išlaikys pradinę tvarką pagal jūsų grąžinimo talpą