Węzeł połączonej listy wygląda tak:
W porównaniu z tablicą, połączona lista nie jest sekwencyjną strukturą danych, ponieważ jest dynamicznie przechowywaną strukturą danych. Przechowuje wszystkie dane w różnych lokalizacjach pamięci i możemy uzyskać dostęp do tych danych za pośrednictwem wskaźnika węzła, który przechowuje adres danych.
Ten sposób przechowywania danych ma takie zalety:
1. Nie mamy wstępnie zdefiniowanego rozmiaru pamięci jak tablica, która prowadzi do wielu odpadów pamięci.
2. W tablicy, jeśli zdefiniujemy jednocześnie pamięć, nie możemy jej zmniejszyć ani zwiększyć zgodnie z naszymi wymaganiami. Ale na połączonej liście możemy zwiększyć lub zmniejszyć węzły zgodnie z naszymi wymaganiami.
Lista połączona wygląda tak:
Każda lista połączona ma jeden węzeł nagłówka, który jest pierwszym węzłem z listy połączonej; i jeden węzeł ogonowy, który jest obecny na końcu listy powiązanej. Z węzła ogonowego połączona lista wskazująca na następny węzeł się skończył, ponieważ przechowuje adres zerowy, co nic nie znaczy. Jeśli dowolna lista połączona ma tylko jeden węzeł, oznacza to, że węzeł nagłówka i węzeł ogonowy są takie same.
Usunięcie połączonej listy:
Jak podano poniżej, możemy usunąć węzeł z powiązanej listy na trzy sposoby:
1. Usuń pierwszy węzeł listy powiązanej
2. Usuń ostatni węzeł listy powiązanej
3. Usuń określony węzeł pozycji
Objaśnienie wszystkich tych koncepcji:
Usuń pierwszy węzeł listy połączonej (węzeł nagłówka):-
Usuwanie pierwszego węzła z listy połączonej oznacza usunięcie węzła nagłówka (pierwszy węzeł) z listy połączonej. Aby to zrobić, musimy postępować zgodnie z następującą procedurą:
A. Musimy utworzyć wskaźnik (tymczasowy).
B. Adres węzła nagłówka jest kopiowany do wskaźnika (tymczasowy).
C. Teraz zapisaliśmy adres węzła nagłówka. Możemy więc zadeklarować następny węzeł nagłówka jako pierwszego węzła z listy połączonej.
Usuwanie pierwszego węzła oznacza, że węzeł nagłówka jest prosty:
Kod C ++, aby usunąć pierwszy węzeł z listy powiązanej:
void DeleLinkedListFirstNode ()Usuwanie ostatniego węzła (węzeł ogonowy):
Usunięcie węzła nagłówka Listy Listy było proste. Ale kiedy chcieliśmy usunąć ostatni węzeł linkowanej listy, musimy przenieść wskaźnik zerowy z węzła ogona do poprzedniego węzła ogona, który ma adres węzła ogona.
Aby to zaimplementować, musimy użyć dwóch tymczasowych węzłów i uruchomić linkę. Po zakończeniu listy połączonej przemieszczania, jeden tymczasowy węzeł wskazuje na bieżący węzeł, a drugi tymczasowy węzeł wskazuje na poprzedni węzeł. Teraz oba wymagane węzły odnoszą się do posiadanych szczegółów i możemy usunąć węzeł ogonowy podczas przenoszenia wskaźnika zerowego do poprzedniego węzła.
Kod C ++, aby usunąć ostatni węzeł z listy powiązanej:
void DeleTeLinkedListlastNode ()Usuwanie węzła w określonej pozycji:
Aby usunąć węzeł z dowolnego miejsca na połączonej liście, musimy wprowadzić konkretną pozycję węzła, którą chcemy usunąć. Aby zdefiniować określony węzeł pozycji, używamy dwóch tymczasowych węzłów, tak jak robiliśmy to podczas usuwania węzła ogona. Przemierzamy całą listę połączoną, dopóki nie otrzymamy konkretnego węzła pozycji, który chcemy usunąć, a po otrzymaniu tego węzła drugi węzeł tymczasowy pomieści poprzedni adres bieżącego węzła. Teraz, ponieważ mamy oba szczegóły węzłów, możemy łatwo przenieść adres z węzła usuwania do poprzedniego węzła adresu, który teraz wskazuje na następny węzeł, tak jak w poprzedniej usuniętej metodzie ostatniego węzła.
Kod C ++, aby usunąć węzeł nth z listy powiązanej:
void deleTentHpositionNode (int pozycja pozycja)Program C ++ do usunięcia węzła n -th z listy powiązanej
#włączaćWyjście:
Wyświetlanie LinkedList =>: 50 31 23 23 34 29Wniosek:
Na tym blogu studiowaliśmy różne sposoby usuwania powiązanych koncepcji listy i tego, jak możemy również kodować w programie C ++. Na koniec zbadaliśmy główne koncepcje usuwania węzła z określonej pozycji. Połączone koncepcje listy są zawsze ważne, ponieważ jest to sposób gry z pamięcią systemu operacyjnego i ma wiele korzyści w porównaniu z tablicą.