JavaScript to język programowania internetowego, który służy do uczynienia naszych stron internetowych i aplikacji internetowych dynamicznym i interaktywnym, dając im możliwość myślenia i działania. Jak każdy inny język programowania, JavaScript oferuje nam tablice, które są zbiorem różnych elementów przechowywanych w jednej zmiennej. Ograniczenie tablicy polega na tym, że jest ona przechowywana kolejno w określonej pamięci w naszym systemie, a tym samym w celu rozwiązania tego problemu używamy linkowanej listy.
Połączona lista
Połączone listy są jak tablice, z wyjątkiem tego, że na połączonej liście elementy nie są zapisywane w określonej lokalizacji lub indeksie pamięci, a każdy element jest osobnym niezależnym obiektem podłączonym do następnego elementu poprzez posiadanie wskaźnika lub linku do tego elementu.
Każda powiązana lista zawiera głowę (pierwszy węzeł), długość (rozmiar linkowanej listy) i właściwość ogona (ostatni węzeł), a każdy element na połączonej liście nazywa się węzłem, a każdy węzeł ma wartość przechowywaną w nim i link do następnego węzła. Jeśli bieżącym węzłem jest ogon, link będzie zerowy, który nie wskazuje na żaden inny węzeł. Połączona lista nie zawiera indeksów w przeciwieństwie do tablic, które mają indeksy E.G 0,1,2… i tak dalej.
Połączone listy w JavaScript można wykazać w następujący sposób:
// Połączona listaZaletą listy powiązanej polega na tym, że elementy (węzły) są łatwo dodawane i usuwane z listy połączonej bez regulacji całej listy połączonej. Wadą połączonej listy jest to, że potrzebuje ona więcej pamięci do przechowywania, ponieważ teraz mamy dodatkowy wskaźnik, który przechowujemy wraz z wartością elementu.
Połączone listy to trzy typy, które opisano poniżej:
Wdrożenie listy powiązanej
Najpierw utwórzmy węzeł, który ma dwie właściwości wartość i wskaźnik, dla której utworzymy klasę o nazwie ListNode to ma te dwie właściwości:
Klasy ListNodeTeraz, gdy wiemy, jak utworzyć węzeł, pozwól nam utwórz powiązaną listę, w której domyślna wartość głowy będzie null:
klasa LinkedListZainicjujmy teraz linkowaną listę z dwoma węzłami i dodajmy wskaźnik z głowy lub węzła 1 do drugiego węzła:
var node1 = new ListNode (3);Następnym krokiem jest zainicjowanie połączonej listy z Node1 w następujący sposób:
var list = new LinkedList (Node1);Cały kod jest podany poniżej z rejestrowaniem konsoli wartości Node2:
// Tworzenie węzłaPołączone metody listy
Teraz, gdy skończymy wdrożeniem listy powiązanej, odtwarzajmy lub manipulujmy powiązaną listą, wdrażając więcej metod korzystania z powiązanych list (metody pomocnicze):
Pierwsza metoda pomocnicza, którą zdefiniujemy rozmiar() Metoda w klasie Połączona lista który zwróci długość linkowanej listy:
size = () =>W tym kodzie najpierw deklarujemy zmienną fikcyjną liczyć przechowywanie w nim 0, a następnie przechowywanie wskaźnika głowy w węzeł zmienny. Następnie zadeklarowaliśmy pętlę, która będzie iterowana przez połączoną listę i zwiększy liczyć zmienny.
Następną metodą pomocnika będzie getFirst () Metoda, w której wskaźnik główny zostanie zwrócony:
getFirst = () =>Możemy również uzyskać ostatni węzeł linkowanej listy w następujący sposób:
getLast = () =>Cały kod jest teraz podany poniżej z wyświetlaniem wyjścia drugiego węzła, rozmiarem powiązanej listy, pierwszej wartości węzła i ostatniej wartości węzła w tej samej kolejności:
// Tworzenie węzłaWniosek
Po tablicach połączona lista jest drugą najczęściej używaną strukturą danych w dowolnym języku programowania. Połączona lista jest jak tablica, która przechowuje zbiór różnych elementów z różnicą, że każdy element (węzeł) połączonej listy jest obiektem zawierającym wartość elementu i wskaźnik wskazujący następny węzeł, stąd łączenie każdego elementu i Druga różnica polega na tym, że elementy nie są zapisywane w określonej lokalizacji pamięci na połączonej liście.
W tym poście widzieliśmy, jakie są powiązane listy, zalety i wady powiązanych list, typy powiązanych list i jak zaimplementować powiązaną strukturę danych w JavaScript.