2011-06-14 2 views
1

나는 최종 시험 지금 공부하고 난 스택에 대해 얘기 교수의 PPT 슬라이드의 끝 부분에 다음과 같은 질문을 참조하십시오더블 스택이란 무엇입니까?

What is a Double Stack?

내가 스택이 정렬 된 것을 알고 모든 삽입과 삭제가 스택의 최상위라고 불리는리스트의 한쪽 끝에서 이루어 지지만 이중 스택은 무엇인지에 대한 균질 요소 (즉,리스트)의 집합? Google을 통해 검색을 시도했지만 답변을 찾지 못한 행운이 없었습니다.

답변

1

이중 스택이란 단일 배열을 사용하여 구현 된 두 개의 스택을 의미합니다. 메모리 낭비를 방지하기 위해 두 스택을 반대 방향으로 성장시킵니다. 포인터 tops1과 tops2는 스택 1과 스택 2의 최상위 요소를 각각 가리 킵니다. 처음에 tops1은 -1로 초기화되고 tops2는 용량이 초기화됩니다. 요소가 스택 1로 푸시 될 때 tops1이 증가합니다. 마찬가지로 요소가 스택 2로 푸시 될 때 tops2가 감소합니다. 따라서 배열은 tops1 = tops2-1 일 때 꽉 찼습니다. 이 외에도 요소를 스택에 밀어 넣으면 오버플로가 발생합니다.