Говорихме за единичен свързан списък в предишната част на нашия раздел на блога.

Може да кажете, защо да повдигаме Double Linked List, ако вече знаем повече за основната част на List на първо място? Е, повдигнахте добър въпрос.

Въз основа на историята на структурата на данните, внедряването на списъци е започнало почти половин век в съвременната ера на компютрите. Следователно, това може да се смята за една част от положителното влияние на Lists, което е направено до голяма степен в света на технологиите.

Забавен факт!

Знаете ли, че големи технологични компании като google, Amazon, Microsoft основно се фокусират върху структури от данни, включително List, за да продължат своите иновации?

Е, можете също да добавите да се запитате защо да използвате множество типове свързан списък в структурата на данните, ако един свързан списък вече има ефективни функционалности в областта на програмирането.

Основната част, която отличава двойно свързан списък от единичен свързан списък, е, че той използва две полета от възли. Освен това, той се състои от набор от хронологично свързани документи, наречени възли. Тези кръстовища се отнасят към предишния и към следващия възел в реда на самите възли.

Неговите приложения в реалния свят.

Както винаги, теорията може да не е единственият начин да се образовате, ако той/тя иска лесно да разбере част от информацията в главата си. Вместо това е по-добре да измислим разни същности, за да свържем точките, които прецизираме, за да бъде по-приложимо за нас и другите;

Това са няколко от многото ясни реални светове, важни за двойно свързания списък.

  • Функция Undo-Redo
  • Музикален плейъркойто има бутони за следващ и предишен
  • Представлява тесте карти в игра
  • Приложения, които имат най-скоро използван списък (списък с файлове под формата на свързан списък)
  • Кеш паметта на браузъра, която ви позволява да посещавате страници назад-напред и т.н.

Забележка: Двойно свързаният списък използва както следващ, така и предишен подход, за да разшири своите възли.

Хей...Време е за кодиране. Нека се впуснем в програмирането!

Използвайте метода на двойно свързания списък, за да подредите числа въз основа на предишен и следващ формат.

импортиране на java.util.*;

публичен клас Link1{

частни int данни;

публична връзка1 предишен;

публична връзка1 следваща;

публична връзка1(int данни){

предишен=нулев;

this.data=данни;

следващ=нулев;

}

public Link1(Link1 предишен, int данни, Link1 следващ){

this.previous=предишен;

this.data=данни;

this.next=следващ;

}

public int Data(){

върнати данни;

}

}

//Двойно свързан списък

публичен клас DoubleLinkedList1{

частна глава на връзката;

частен int размер;

public DoublyLinkedList1(){

глава=нула;

размер=0;

}

public void addFront(int данни){

ако (глава ==нула)

глава = нова връзка (null, данни, null);

иначе {

Link newLink=нова връзка(null, data, head);

head.previous=newLink;

глава=нова връзка;

}

размер++;

}

public int size(){

размер на връщане;

}

public void print(){

Link current=head;

докато (текущ! = нула) {

System.out.print(current.data());

текущ=текущ.следващ;

}

}

публичен булев isEmpty(){

връщане на главата ==нула;

}

public static void main (String [] args ){

//TODO Автоматично генериран метод stu

DoublyLinkedList dll=нов DoublyLinkedList();

dll.addFront(5);

dll.addFront(20);

dll.print();

System.out.println(“…………………….”);

dll.addRear(10);

dll.print();

}

}