Chcę utworzyć coś podobnego do podwójnie połączonej listy (ale z tablicami), która działa z dolnymi/górnymi ograniczeniami.C++ - Tablica okrągła z dolnymi/górnymi ograniczeniami?
Typowy okrągły tablica prawdopodobnie wyglądać następująco:
next = (current + 1) % count;
previous = (current - 1) % count;
Ale co matematyczny arytmetyka włączyć dolne/górne granice odpowiednio do tego?
- 0 (dolny element związany 1)
- 2 (górna granica pozycja 1)
- 3 (dolny element związanego 2)
- 4 (górna granica pozycja 2)
więc, że:
-> obok na indeksie 2 do pozycji 1 zwraca 0
-> poprzedni na indeksie 0 na pozycję 1 powraca 2
-> obok na indeksie 4 na pozycji 2 zwraca 3
-> poprzedni na indeksie 3 dla pozycji 2 zwraca 4
Dziękuję !
UWAGA: Nie można korzystać z bibliotek zewnętrznych.
można poszerzyć swoją wyjaśnienie trochę? Wygląda na to, że chcesz mieć okrągłą kolejkę kolistych kolejek. W takim przypadku każda kolejka byłaby lepsza w oddzielnej tablicy. – sfossen