스택 C언어로 구현하기 (배열)

Stack 

 

 

 

먼저 들어온 데이터가 나중에 나가는 구조를 가지고 있는 스택은 배열과 연결리스트로 구현할 수 있다.

그 중 배열을 이용한 구현 방법은 다음과 같다. 

 

 

◎ 배열

배열을 스택으로 구현하기 위해 기억해야 할 것은 두 가지이다.

처음 인덱스 0의 배열 요소를 스택의 바닥(Bottom)으로 정의하고 마지막에 저장된 데이터의 위치를 기억해야 한다.

 

인덱스 0의 요소를 스택의 Bottom으로 정의하면 배열의 길이와 관계없이 항상 인덱스 0의 요소가 스택의 Bottom이 되며 마지막에 저장된 데이터의 위치는 Top이 되기 때문이다. 

 

 

◎ 삽입(Push)과 삭제(Pop)

삽입, 즉 Push는 Top Index를 위로 한 칸 올리고 Top이 가리키는 배열의 위치에 해당 데이터를 저장한다.

삭제 Pop은 Top Index의 데이터를 반환하고 Top Index를 한 칸 줄인다. 

 

void push(int num)
{
	stack[++index] = num;
}

int pop()
{
	return stack[index--];
}

 

 

 

 

 

참고 자료;

윤성우의 열혈 자료 구조 (출판사; 오렌지 미디어, 저: 윤성우)

+ Recent posts