|
Lista
Najprościej można zdefiniować listę, jako pewien uszeregowany ciąg elementów, o dostępie sekwencyjnym. Oznacza to, że dane zawarte na liście można przeglądać tylko po kolei.
Zobacz też →definicję w Wikipedii
Z wikipedii
Stos (ang. Stack) ? liniowa struktura danych, w której dane dokładane są na wierzch stosu i z wierzchołka stosu są pobierane (bufor typu LIFO, Last In, First Out; ostatni na wejsciu, pierwszy na wyjsciu).
Z wikipedii
Kolejka (ang. queue) ? liniowa struktura danych, w której nowe dane dopisywane są na końcu kolejki, a z początku kolejki pobierane są dane do dalszego przetwarzania (bufor typu FIFO, First In, First Out; pierwszy na wejściu, pierwszy na wyjściu).
Praktycznie każdy nowoczesny, obiektowy język programowania zawiera implementację listy.
- Lista zawarta jest w Standardowej bibliotece C++ - STL. Została ona zaprojektowana w taki sposób, aby można bylo na niej przechowywać zarówno proste typy danych, takie jak int lub double jak również obiekty klas.
W internecie można znaleźć wiele opisów tej biblioteki np w Wikipedii lub na jednym z licznych kursów C++
- Java oferuje specjalizowane klasy kolekcyjne : Vector ,
Stack i Hashtable
Obok prosty aplet ilustrujący działanie klasy Stock. Oto jego listing (prawie)
import java.awt.*;
import java.applet.*;
import java.util.*;
public class Stos extends Applet
{
Stack stos;
Random r=new Random();
String ulozono="Tak tworzono: ";
//---------------------------------
void robimy_stos()
{
int x=1,n=r.nextInt(6)+1,y=n;
stos=new Stack( );
while(x<=n)
{
stos.push(new Point(x,y));
ulozono+="("+x+","+y+") ";
x++;y--;
}
}
//-----------------------------------
public void paint(Graphics g)
{
Point w=new Point();
String wyjeto="A tak odczytano: ";
robimy_stos();
g.drawString(ulozono,15,10);
while(!stos.empty())
{
w=(Point)stos.pop();
wyjeto+="("+w.x+","+w.y+") ";
}
g.drawString(wyjeto,5,30);
}
}
|
Samodzielna implementacja listy jest bardzo dobrym ćwiczeniem programistycznym. Uczy zwłaszcza panowania nad pamięcią, unikania marnotrawstwa pamięci, a także pozwala lepiej poznać zasade działania tej struktury danych.
Zobacz następne podrozdziały, gdzie bedę tworzył wlasną listę (stos).
Nie bez znaczenia może być tez satysfakcja z "własnej" produkcji. Bedę sugerował właśnie taką samodzielność rozwiaząnia. Zwłaszcza, że to nic trudnego.
|