Мазмуну:
Video: Жалгыз шилтемеленген тизмени кантип иреттейм?
2024 Автор: Lynn Donovan | [email protected]. Акыркы өзгөртүү: 2023-12-15 23:50
Төмөндө жөнөкөй киргизүү болуп саналат сорттоо үчүн алгоритм шилтемеленген тизме . 1) бош түзүү сорттолгон (же натыйжа) тизме 2) Берилгенди айланып өтүңүз тизме , ар бир түйүн үчүн төмөнкүнү аткарыңыз. а) Учурдагы түйүндү киргизиңиз сорттолгон кирүүгө жол сорттолгон же натыйжа тизме . 3) Берилген башты алмаштыруу шилтемеленген тизме башына сорттолгон (же натыйжа) тизме.
Буга байланыштуу, сиз шилтемеленген тизмени иреттей аласызбы?
Бириктирүү сорттоо үчүн көбүнчө артыкчылык берилет шилтемеленген тизмени сорттоо . А-нын жай кокустук аткаруусу шилтемеленген тизме кээ бир башка алгоритмдерди (мисалы, Quicksort) начар аткарат, ал эми башкаларды (мисалы, үймө сортторду) таптакыр мүмкүн эмес кылат. Баштын биринчи түйүнү болсун шилтемеленген тизме сорттоо жана headRef баштын көрсөткүчү болуп саналат.
Экинчиден, көбүкчө сорттоо аркылуу шилтемеленген тизмени кантип сорттосоңуз болот? Көбүктү сорттоо үчүн биз төмөнкү кадамдарды аткарабыз:
- 1-кадам: 2 чектеш түйүндөрдөгү маалыматтар өсүү тартибинде же жокпу, текшериңиз. Болбосо, 2 чектеш түйүндөрдүн маалыматтарын алмаштырыңыз.
- 2-кадам: 1-өткөрүүнүн аягында эң чоң элемент тизменин аягында болот.
- 3-кадам: Бардык элементтер башталганда циклди токтотобуз.
Ошентип, шилтемеленген тизмедеги маалыматтарды кантип иреттейсиз?
Алгоритм
- Эки атрибутка ээ класс түйүнүн түзүңүз: маалымат жана кийинки.
- Эки атрибуттары бар башка SortList классын түзүңүз: баш жана куйрук.
- addNode() тизмеге жаңы түйүн кошот:
- sortList() тизменин түйүндөрүн өсүү тартибинде иреттейт.
- display() тизмеде бар түйүндөрдү көрсөтөт:
Шилтемеленген тизмени алфавит боюнча кантип иреттейм?
Сорттоо сап LinkedList Javaда оңой. Сенин колуңдан келет сорттоо сап LinkedList көтөрүлүүдө алфавиттик тартипте колдонуу менен сорттоо ( Тизме тизмеси ). Сиз да болот сорттоо сап LinkedList төмөндөөдө алфавиттик тартипте колдонуу менен сорттоо ( Тизме тизмеси , Салыштыргыч в).
Сунушталууда:
Шилтемеленген тизмени алфавит боюнча кантип иреттейм?
Java'да LinkedList саптарын сорттоо оңой. Сорт (Тизме тизмеси) аркылуу LinkedList сабын өсүү боюнча алфавиттик тартипте иргей аласыз. Ошондой эле сорттоо (Тизме тизмеси, Салыштыруучу с) аркылуу LinkedList сабын азаюу боюнча алфавиттик тартипте сорттоого болот
Кантип кош шилтемеленген тизме DLL жалгыз шилтемеленген тизме SLL менен салыштырылат?
Кош шилтемеленген тизмеге киришүү: Кош шилтемеленген тизме (DLL) кошумча көрсөткүчтү камтыйт, адатта мурунку көрсөткүч деп аталат, кийинки көрсөткүч жана жеке шилтемеленген тизмедеги маалыматтар менен бирге. SLL бир гана маалымат талаасы жана кийинки шилтеме талаасы бар түйүндөргө ээ. DLL SLLге караганда көбүрөөк эстутумду ээлейт, анткени анын 3 талаасы бар
Тегерек шилтемеленген тизмени кантип жок кыласыз?
Тегерек шилтемеленген тизмеден өчүрүү Эгерде тизме бош болбосо, анда биз эки көрсөткүч curr жана мурунку аныктайбыз жана баш түйүн менен көрсөткүч курсун инициализациялайбыз. Жок кылына турган түйүндү табуу үчүн curr аркылуу тизмени айланып өтүңүз жана курсрду кийинки түйүнгө жылдыруудан мурун, ар дайым мурунку = curr орнотулган. Эгерде түйүн табылса, ал тизмедеги жалгыз түйүн экендигин текшериңиз
Кош шилтемеленген тизме менен тегерек шилтемеленген тизменин ортосунда кандай айырма бар?
Тегерек шилтемеленген тизме - бул ностарт же аягы түйүндөр бар, бирок анын ордуна алар тегерек схемага ылайык келет. Кош-байланышкан тизме ар бир түйүн кийинки түйүнгө гана эмес, мурунку түйүнгө да багытталган тизме
Шилтемеленген тизмени колдонуп стек жана кезекти ишке ашыра алабызбы?
Ар бир түйүндүн мааниси жана кийинки түйүнгө шилтемеси бар. Шилтемеленген тизменин эки популярдуу тиркемелери - стек жана кезек. Кезек: Кезек – бул биринчи чыгып, биринчи чыгуу (FIFO) принцибинде колдонулган маалымат структурасы. Кезек стек, массив жана байланышкан тизме менен ишке ашырылышы мүмкүн