
Mundarija:
2025 Muallif: Lynn Donovan | [email protected]. Oxirgi o'zgartirilgan: 2025-01-22 17:45
Doiraviy bog'langan ro'yxatdan o'chirish
- Agar ro'yxati bo'sh emas, biz ikkita ko'rsatkich curr va prev ni aniqlaymiz va ko'rsatgichni bosh tugun bilan ishga tushiramiz.
- O'tish ro'yxati o'chiriladigan tugunni topish uchun curr dan foydalaning va kursni keyingi tugunga o'tkazishdan oldin, har safar oldingi = curr o'rnatiladi.
- Agar tugun topilsa, uning yagona tugun ekanligini tekshiring ro'yxati .
Shu tarzda, dumaloq bog'langan ro'yxatdagi oxirgi tugunni qanday o'chirasiz?
Circular Linekd ro'yxatining oxirgi tugunini o'chirish
- Joriy va oldingi ikkita ko'rsatkichni oling va ro'yxatni aylantiring.
- Ikkala ko'rsatkichni ham oldingisining keyingisi doimo joriyga ishora qiladigan tarzda siljiting.
- Bir marta, ko'rsatkich oqimi oxirgi tugunga etib borsa, quyidagilarni bajaring:
Bundan tashqari, bog'langan ro'yxatdagi elementni qanday o'chirish mumkin? Muayyan elementni ro'yxatdan o'chirish uchun bir necha qadamlar mavjud:
- Elementli tugunni toping (agar u mavjud bo'lsa).
- Ushbu tugunni olib tashlang.
- Bog'langan ro'yxatni qayta ulang.
- Havolani boshiga yangilang (agar kerak bo'lsa).
Shunga mos ravishda, qanday qilib dumaloq bog'langan ro'yxatni o'zgartirasiz?
Quyida dumaloq bog'langan ro'yxatni o'zgartirish uchun bosqichma-bosqich mantiq mavjud
- Ko'rsatkichning uchta o'zgaruvchisini ishga tushiring, last = head, cur = head->keyingi va prev = head.
- Bosh tugunni oldinga siljiting, ya'ni head = head->keyingi;
- Joriy tugunni oldingi tugun bilan bog'lang, ya'ni cur->keyingi = oldingi;
- Oldingi tugunni joriy tugun sifatida qiling, ya'ni prev = cur;
Dumaloq ikki tomonlama bog'langan ro'yxat nima?
Dumaloq ikki tomonlama bog'langan ro'yxat ma'lumotlar strukturasining murakkabroq turi bo'lib, unda tugun o'zining oldingi tuguniga, shuningdek keyingi tugunga ko'rsatgichlarni o'z ichiga oladi. Birinchi tugun ro'yxati oldingi ko'rsatgichdagi oxirgi tugun manzilini ham o'z ichiga oladi. A dumaloq ikki tomonlama bog'langan ro'yxat quyidagi rasmda ko'rsatilgan.
Tavsiya:
Bog'langan ro'yxatni alifbo tartibida qanday tartiblashim mumkin?

Java-da LinkedList qatorini saralash oson. Sort (Roʻyxat roʻyxati) dan foydalanib, LinkedList qatorini oʻsish boʻyicha alifbo tartibida tartiblashingiz mumkin. Shuningdek, siz LinkedList qatorini alifbo tartibida kamayish bo'yicha saralashingiz mumkin
Ikki marta bog'langan DLL ro'yxati yagona bog'langan ro'yxat SLL bilan qanday taqqoslanadi?

Ikki marta bog'langan ro'yxatga kirish: Ikki marta bog'langan ro'yxat (DLL) qo'shimcha ko'rsatgichni o'z ichiga oladi, odatda oldingi ko'rsatgich deb ataladi, keyingi ko'rsatgich va alohida bog'langan ro'yxatdagi ma'lumotlar bilan birga. SLL faqat ma'lumotlar maydoni va keyingi havola maydoniga ega tugunlarga ega. DLL SLL dan ko'ra ko'proq xotirani egallaydi, chunki u 3 ta maydonga ega
Yagona bog'langan ro'yxatni qanday saralashim mumkin?

Quyida bog'langan ro'yxat uchun oddiy qo'shish tartiblash algoritmi keltirilgan. 1) Bo'sh tartiblangan (yoki natija) ro'yxatini yarating 2) Berilgan ro'yxat bo'ylab harakatlaning, har bir tugun uchun quyidagi amallarni bajaring. a) Joriy tugunni tartiblangan yoki natijalar ro'yxatiga tartiblangan tarzda kiriting. 3) Berilgan bog'langan ro'yxatning boshini tartiblangan (yoki natija) ro'yxatining boshiga o'zgartiring
Ikki marta bog'langan ro'yxat va dumaloq bog'langan ro'yxat o'rtasidagi farq nima?

Dumaloq bog'langan ro'yxat - bu nostart yoki oxirgi tugunlar mavjud bo'lgan ro'yxat, lekin buning o'rniga ular aylana naqshiga amal qiladi. Ikki marta bog'langan ro'yxat - bu har bir tugun nafaqat keyingi tugunni, balki oldingi tugunni ham ko'rsatadigan ro'yxat
Bog'langan ro'yxatni ikkilik qidirishingiz mumkinmi?

Ha, agar ro'yxat tartiblangan bo'lsa va siz ro'yxatdagi elementlar sonini bilsangiz, bog'langan ro'yxatda ikkilik qidirish mumkin. Ammo ro'yxatni saralashda siz bir vaqtning o'zida bitta elementga ushbu tugunga ko'rsatgich orqali kirishingiz mumkin, ya'ni oldingi tugun yoki keyingi tugun