实验3.1编写程序,从键盘输入10个数据压入栈中,然后从栈中依次弹出这些数据并输出。

//1、编写程序,从键盘输入10个数据压入栈中,然后从栈中依次弹出这些数据并输出。// 
#include
#include
#include
struct Stack {
    int * Data;   // 栈空间
    int Top;      // 栈顶,为-1时表示空栈
    int Maxsize; //栈的最大容量
};
struct Stack* Creat(){
		struct Stack*L;
		L=(struct Stack*)malloc(sizeof(struct Stack));
		L->Top=-1;
		L->Maxsize=200;	
		L->Data=(int*)malloc(sizeof(int)*L->Maxsize);
		return L;
	}
int Pop(struct Stack*L){
		if(L->Top==-1){
		printf("Stack is empty\n");
		}
		return L->Data[L->Top--];
}
void Push(struct Stack*L,int x){
	if(L->Top==L->Maxsize-1){
		printf("Stack is Full\n");
		return;
	}
	L->Data[++L->Top]=x;
}
int main(){
		struct Stack *L;
		L=Creat();
		int i,k,t;
		for(i=0;i<10;i++){	
			scanf("%d",&t);
			Push(L,t);	
		}
		for(i=0;i<10;i++){	
			k=Pop(L);
			printf("%d ",k);	
		}
		printf("\n");
		return 0;
	}

你可能感兴趣的:(笔记)