Budeš si udržovat informace o "okně", tj. index prvního a posledního viditelného prvku. Jakmile se posuneš s indexem za okno (tj. index současného prvku bude větší než posledního viditelného prvku), posuneš i indexy okna. Obdobně když se posuneš s indexem před okno. Samozřejmě v obou případech musíš hlídat, aby ses oknem nedostal před první nebo za poslední prvek.
Příklady:
prvky = [ "prvek 0", "prvek 1", "prvek 2", "prvek 3", "prvek 4" ]
-----------------------------------------------
Stav:
prvek 1
prvek 2 <<<
prvek 3
Okno je 1-3.
Posun dolů na index 3 nemění pozici okna, stejně jako nahoru na prvek 1.
-----------------------------------------------
Stav:
prvek 1
prvek 2
prvek 3 <<<
Okno je 1-3.
Posun dolů na index 4 změní pozici okna na 2-4. Posun nahoru na index 2 pozici okna nezmění.
-----------------------------------------------
Stav:
prvek 2
prvek 3
prvek 4 <<<
Okno je 2-4.
Posun dolů není možný. Posun nahoru na index 3 pozici okna nezmění.
-----------------------------------------------
Stav:
prvek 2 <<<
prvek 3
prvek 4
Okno je 2-4.
Posun dolů na index 3 nezmění pozici okna. Posun nahoru na index 1 změní pozici okna na 1-3.