Садржај
- Упутства
- Сортирај повезану листу у Јави
- Сортирајте помоћу подразумеваних и прилагођених компаратора
- Како
- Обавештење
Како организовати повезану листу у Јави. Затворена листа је један од главних типова структура података у свету програмирања. То је организација чворова која садржи податке и референце које упућују на следећи чвор. Да би сортирали повезану листу у Јави, постоји класа листе која ради са оквиром Збирке, који имплементира алгоритме као наредбе.
Упутства
Организовање повезане листе у Јави (интеррогатион имаге би данимагес из Фотолиа.цом)-
Изјавите повезану листу креирањем новог објекта ЛинкедЛист и додељивањем променљиве ЛинкедЛист. ЛинкедЛист долази из генеричке класе листе, тако да ће сваки метод који прихвати листу бити прихваћен од стране објекта ЛинкедЛист. "" ЛинкедЛист л = нови ЛинкедЛист (); ""
-
Додајте објекте истог типа (као што су цели бројеви) на листу. То могу бити објекти било које врсте, али да би сортирали повезану листу, сви морају бити истог типа.
-
Користите методу Лист.аддФирст да убаците нове објекте на врх листе, тако да су сви додани објекти у супротном редоследу. Ако их желите додати на крај листе, користите методу Лист.аддЛаст. лист.аддФирст (1); лист.аддФирст (3); лист.аддФирст (2); "
-
Користите итератор за итерацију кроз листу и одштампајте је пре и након што видите шта ради метода сортирања. "" за (Итератор и = лист.итератор (); и.хасНект ();) {Систем.оут.принтлн (и.нект ());} "
Сортирај повезану листу у Јави
-
Сортирајте листу са подразумеваним компаратором. Компаратор је објекат који упоређује два објекта. Подразумевани компараторски објекат користи мањи оператор, тако да је листа поредана растућим редоследом. Да бисте сортирали листу, користите статичку методу Цоллецтионс.сорт. "" Цоллецтионс.сорт (листа); ""
-
и) {ретурн -1; "> Наручи листу са прилагођеним успоредником тако што ће написати класу која имплементира интерфејс за поређење и проследити је инстанци као аргумент за наручивање. Класа која имплементира компаратор мора само да имплементира једноставан "јавна класа ГреатерТхан имплементира Цомпаратор елсе иф (к == и) {ретурн 0;} елсе {ретурн 1;}}}"
-
Користите позив Цоллецтионс.сорт тако што ћете као други аргумент проследити нову инстанцу ГреатерТхан. Пошто ће објекти који су већи бити испред осталих, листа ће бити сортирана у опадајућем редоследу уместо узлазног поретка. Алтернативно, ако сортирате листу објеката из прилагођене класе коју сте сами откуцали, ова класа може имплементирати Цомпарабле интерфејс уместо да користи одвојену класу Цомпаратор. Цоллецтионс.сорт (листа, нови ГреатерТхан ()); ""
Сортирајте помоћу подразумеваних и прилагођених компаратора
Како
- Проблематично је користити цијели број за итерацију у кругу и методу Лист.сизе (). Понављање затворене листе је скупа рачунска операција. Када користите оператора индекса (као л [2]) као у било којој команди, Јава мора да понови листу све док не достигне индекс 2. За мале листе, то је проблем, међутим, са нечим великим, коришћење оператора индекса за итерацију претвара се у нешто што захтева много ресурса.
- Без обзира на то како је објекат Лист имплементиран, јер ЛинкедЛист имплементира исти интерфејс.
- Метода поређења треба да се врати на -1 ако је арг0 наручен пре арг1, 0 ако је наручен подједнако, и 1 ако је арг1 наручен пре арг0.
Обавештење
- Објект итератора осигурава да сваки чвор у листи посјети само једном. Ово је важно запамтити, будући да нас посета без потребе може злоупотребити структуре података до тачке у којој програм не ради.