티스토리 뷰

스택의 응용 - 스택의 다양한 응용

변수에 대한 메모리의 할당과 수집을 위한 시스템 스택

서브루틴 호출 관리를 위한 스택

연산자들 간의 우선순위에 의해 계산 순서가 결정되는 수식 계산

인터럽트의 처리와, 이후 리턴 할 명령 수행 지점을 저장하기 위한 스택

컴파일러, 순환 호출 관리



스택의 연산 - 스택의 삭제 연산

(*top)--에서 사용된 ‘--’ 연산자의 위치에 따라 연산의 적용순서가 달라질 수 있음


1
2
3
4
5
6
7
element pop(int *top)
{
    if (*top == -1)
        return stackEmpty( );
 
    return stack [(*top)--];
}
cs




스택의 연산 - 스택의 삽입 연산

++(*top)에서 사용된 ‘++’ 연산자의 위치에 따라 연산의 적용순서가 달라질 수 있음


1
2
3
4
5
6
7
void push(int *top, element item)
{
    if (*top >= STACK_SIZE-1)
        return stackFull( );
 
    return stack [++(*top)] = item;
}
cs


공지사항
최근에 올라온 글
Total
Today
Yesterday