prev maydoniga tail ni qiymatini yozib qo’yamiz, chunki bu element oxirgi turgan elementdan keyinga qo’shiladi va prev maydoni bilan o’zidan oldingi elementni ko’rsatib turishi kerak. Undan oldin keladigan element (xozircha oxirgi element tail da ko’rsatilyapti) adresi tail da saqlanyapti.
Yangi element kiritilgach, tail ko’rsatkichni ushbu yangi elementga o’rnatamiz. Chunki endi oxirgi element bo’lib, yangi element hisoblanadi.
Qachonki, yana yangi element kiritiladigan bo’lsa, boya kiritilgan elementning next maydonidagi NULL ni o’rniga yangi kiritilayotgan elementning adresi yoziladi.
Ushbu aytilgan xarakatlarni quyidagi rasmda keltiramiz.
Ushbu algoritmni C++ dagi dastur kodini keltiramiz.
Ikki bog’lamli ro’yhat oxiridan elementni o’chirish algoritmi Oxiridan element o’chirish amalida tail ko’rsatkich ko’rsatayotgan element o’chiriladi.Bunda undan oldingi turgan elementning next maydoniga NULL yozib qo’yiladi.Keyin element o’chiriladi.Quyidagi amallar ketma-keltligini bayaramiz.
O’chirilayotgan elementni prev maydonidagi adres bilan oldingi turgan element olinadi;
O’chirilayotgan elementni xotiradan tozalash mumkin.
Bu algoritmni bayarishda shu narsaga axamiyat berish kerakki, tuzilma ustida amal bayarishda ro’yhat bo’sh yoki bo’sh emaslikka tekshirish kerak. Ya’ni quyidagicha:
if (!list.isEmpty())
n = list.deleteFromDLLTail();
elsedo not delete;