Для зберігання елементів стека резервується масив S[1..n] певного розміру та додаткова змінна top[S], яка буде зберігати індекс верхівки стека. Операції push та pop тоді можна записати так (без перевірки на переповнення та «незаповненість»): PUSH (S, x) 1 top[S] := top[S] + 1 // збільшення індексу на 1 2 S[top[S]] := x // запис нового елемента у верхівку стека POP (S)