스 택 의 간단 한 실현 및 간단 한 조작

/*
 * stack.c
 *
 *  Created on: Dec 4, 2012
 *      Author: fsxchen
 *      FILO    ,   (         )
 */


#include 

#define MAXSIZE 10
typedef struct STACK
{
	int data[MAXSIZE];                 /*  */
	int top;                           /*    */
}SqStack;                              /*     */

void InitStack(SqStack *space)               /*   */
{
	space->top = -1;
}

void Push(SqStack *s)      /*  */
{
	int val;
	printf("         ");
	scanf("%d",&val);
	if(s->top == MAXSIZE)
		printf("Error");
	s->top++;
	s->data[s->top] = val;
}

int Pop(SqStack *s)
{
	int i;
	if(s->top == -1)
	{
		printf("ERROR");
		return -1;
	}
	i = s->data[s->top];
	s->top--;
	return i;
}
int main()
{
	SqStack sta;
	InitStack(&sta);
	printf("%d", sta.top);
	Push(&sta);
	printf("%d", sta.top);
	return 0;
}

주의 하 세 요. 배열 로 스 택 을 실현 하 는 것 이 비교적 간단 합 니까? 스 택 은 매우 유용 한 데이터 구조 입 니 다. 시스템 에서 재 귀적 으로 호출 된 매개 변수 저장, 역 폴란드 식 계산 사 칙 연산 등 이 모두 매우 중요 합 니 다!

좋은 웹페이지 즐겨찾기