Witam, potrzebny mi pseudokod implementacji kolejki za pomocą tablicy. Wiem na czym polega kolejka, ale nie wiem za bardzo jak to poprawnie zapisać.
0
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
- Trzymasz dwa indeksy początek i koniec.
- Jeżeli początek=koniec kolejka pusta
- Jeżeli początek=Mod(koniec+1,Rozmiar) kolejka przepełniona niewolno dodawać
- Dodajesz w indeks koniec po czym koniec=Mod(koniec+1,Rozmiar)
- 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.