Implementacja kolejki przy pomocy tablicy

Implementacja kolejki przy pomocy tablicy
NX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

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

byku_guzio
  • Rejestracja: dni
  • Ostatnio: dni
0

Co sam zrobiłeś? Regulamin korzystania z Serwisu

NX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

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

Kopiuj
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.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
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)
NX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Czyli będzie coś takiego?

Kopiuj
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?

NX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.