StartStruktury danychKlasyczneLista
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Lista
Ocena użytkowników:+++-- / 7
SłabyŚwietny 
Wpisany przez Michał Knasiecki
wtorek, 16 sierpnia 2005 18:36
Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element można usunąć oraz dodać w dowolnym miejscu. Pierwszy i ostatni element listy nazywamy końcami listy. Szczególnym przypadkiem listy może być stos (gdy pobrać, odczytać i wstawić element można tylko na końcu listy) lub kolejka (pobrać i odczytać element można tylko na początku listy, a dodać na końcu).
Listy mogą być posortowane (najmniejszy element jest w korzeniu). Rozważmy przypadek jednokierunkowej listy posortowanej.
Aby dodać element do listy posortowanej należy sprawdzić, w którym miejscu powienien się on znajdować. Sprawdzamy od korzenia, schodząc w dół, jeśli element, który chcemy dodać jest większy od badanego węzła i mniejszy od jego następnika, to należy umieścić go między nimi. Musimy więc ustawić wskaźnik aktualnego węzła na dodawany element, a wskaźnik tego elementu na następnik. Ponieważ jest to lista jednokierunkowa, przeszukiwanie jej należy zawsze zaczynać od korzenia. Dodając więc pierwszy element do pustej listy należy zapamiętać jego wskaźnik, by później móc się do niego przenieść.
W przeciwieństwie do stosu i kolejki listy mogą zawierać dwa wskaźniki. Takie listy nazywamy dwukierunkowymi, poruszać się możemy w niej w obydwu kierunkach, co przyspiesza wszystkie operacje. Oto schemat listy dwukierunkowej:
Lista dwukierunkowa



Autor Język programowania Komentarz Otwórz Pobierz Ocena
Marian C/C++ C++ (lista jednokierunkowa)
Implementacja w C/C++
Implementacja w C/C++
+++-- / 3
Emil Hotkowski C/C++ C++ (lista dwukierunkowa)
Implementacja w C/C++
Implementacja w C/C++
----- / 0
Michał Knasiecki Delphi/Pascal Borland Delphi 5
Implementacja w Delphi/Pascal
Implementacja w Delphi/Pascal
++++- / 4
Dominik Goździuk Java Lista dwustronna dwukierunkowa
Implementacja w Java
Implementacja w Java
+---- / 1
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie



Poprawiony: poniedziałek, 07 czerwca 2010 23:23

Komentarze

 
photo
0 # AdaMTT 2012-02-03 10:39
a lista dwukierunkowa w c++?
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
0 # emil3566 2012-02-11 16:17
Postaram się na jutro zrobić kolejke dwukieunkową w C++ :) cierpliwości :)
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
0 # emil3566 2012-02-11 16:18
LISTE*
Odpowiedz | Odpowiedz z cytatem | Cytować
 

Dodaj komentarz

Kod antysapmowy
Odśwież