순서 창고의 C 언어 구현 - 초기화 함수, 입고 함수와 출고 함수

1119 단어
순서 스택의 구조를 다음과 같이 정의합니다.
#define M 100//스택의 공간
typedef struct
  {   int data[M];
int top;
  } SqStack;
SqStack의 초기화 함수, 입고 함수, 출고 함수를 써 보십시오.main () 함수에서 상기 함수를 테스트합니다.
#include 
#include 
#define M 100
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0


typedef struct{
	int data[M];
	int top;
} SqStack;


void SqStackInit(SqStack *S){
	S->top = -1;
}

int SqStackPush(SqStack *S,int x){
	if (S->top == M - 1){
		return FALSE;
	}
	S->top++;
	S->data[S->top] = x;
	return TRUE;
}


int SqStackPop(SqStack *S, int *x){
	if (S->top == - 1){
		return FALSE;
	} else {
		*x = S->data[S->top];
		S->top--;
		return TRUE;
	}
}

int main() {
	SqStack S;
	int i;
	int n;
	SqStackInit(&S);        
	printf("      :
"); int x; while(scanf("%d",&x)!=EOF){ SqStackPush(&S,x); } printf(" :
"); for (i = 0; i < M; ++i) { if(SqStackPop(&S,&n)) printf("%d ",n); } printf("
"); return 0; }

좋은 웹페이지 즐겨찾기