스택에 대한 데이터와 연산의 특징을 추상화하여 추상 자료형으로 정의하면 다음과 같다.

추상 자료형에서 정의한 push()의 수행 절차를 가상코드의 알고리즘으로 정의하면 다음과 같다.

ⓛ 스택 S에서 top이 마지막 원소의 위치이므로 그 위에 데이터를 삽입하려면 먼저 top의 위치를 하나 증가시킨다. 이때 top 위치가 스택 크기(stack_SIZE)보다 크면 오버플로 상태가 되므로 삽입 연산을 수행하지 못하고 연산이 종료된다.

② 오버플로 상태가 아니라면 스택의 top 위치에 x를 삽입한다.

다음은 스택 S에서 원소를 삭제하는 pop() 알고리즘이다. 스택에서의 삭제 연산은 스택의 마지막 원소, 즉 top 위치에 있는 원소를 스택에서 삭제하고 삭제한 데이터를 반환한다. 그런데 만약 top이 0이라면 공백 스택이므로 삭제 연산을 수행하지 못한다.

① 공백 스택이 아니면 top에 있는 원소를 삭제하고 반환한다.

② 스택의 마지막 원소가 삭제되면 그 아래 원소, 즉 스택에 남아 있는 원소 중에서 가장 위에 있는 원소가 top이 되어야 하므로 top 위치를 하나 감소시킨다.