Implementacja kolejki przy pomocy tablicy

0

Witam, potrzebny mi pseudokod implementacji kolejki za pomocą tablicy. Wiem na czym polega kolejka, ale nie wiem za bardzo jak to poprawnie zapisać.

0

Co sam zrobiłeś? Regulamin korzystania z Serwisu

0

Mam coś takiego, nie wiem czy to jest dobrze.

if T[Poczatek]=T[Wolny] then KolejkaPusta
if T[Poczatek]=T[Wolny+1] then KolejkaPelna

DodanieElementu
-sprawdzenie czy kolejka nie jest pełna 
T[Wolny]:=x
T[Wolny]=T[Wolny+1]
LiczbaElementow = LiczbaElementow+1

ZdjecieElementu
-sprawdzenie czy kolejka nie jest pusta
X:=T[Poczatek]
T[Poczatek]=T[Poczatek+1]
LiczbaElementow = LiczbaElementow-1 

Oczywiście to nie jest skończone ale nie wiem co dalej.

0
  1. Trzymasz dwa indeksy początek i koniec.
  2. Jeżeli początek=koniec kolejka pusta
  3. Jeżeli początek=Mod(koniec+1,Rozmiar) kolejka przepełniona niewolno dodawać
  4. Dodajesz w indeks koniec po czym koniec=Mod(koniec+1,Rozmiar)
  5. Pobierasz z indeksu początek po czym początek=Mod(początek+1,Rozmiar)
0

Czyli będzie coś takiego?

T[Poczatek]:= wartość początku kolejki
T[Koniec]:= wartość końca kolejki
 
DodanieElementu
if T[Poczatek]=T[Koniec+1] mod LiczbaElementow then KolejkaPelna
ELSE
T[Koniec]:=x
T[Koniec]=T[Koniec+1] mod LiczbaElementow
LiczbaElementow = LiczbaElementow+1
 
ZdjecieElementu
if T[Poczatek]=T[Koniec] then KolejkaPusta
ELSE
X:=T[Poczatek]
T[Poczatek]=T[Poczatek+1] mod LiczbaElementow
LiczbaElementow = LiczbaElementow-1  

I to koniec?

0

To może napiszesz jak to powinno wyglądać, bo jak widać ja nie potrafie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1