你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

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

2021-12-5 19:01:56
#include<stdio.h>
#include<stdlib.h>
struct Stack{
	int * Data;
	int Top;//top为-1时表示为空栈 
	int MaxSize;//栈的最大容量 
};

int pop(struct Stack*L){
	if(-1==L->Top)
		printf("栈为空");
	return L->Data[L->Top--];
}
void push(struct Stack*L,int x){
	if(L->Top==L->MaxSize-1){
		printf("栈为满");
		return;
	}
	L->Data[++L->Top]=x;
}
int main(){
	int i;
	int a[10];
	struct Stack*L;
	L=(struct Stack*)malloc(sizeof(struct Stack));// malloc动态分配空间 
	L->Top=-1;
	L->MaxSize=300;
	L->Data=(int*)malloc(sizeof(int)*L->MaxSize);//创建一个空栈 
	for(i=0;i<10;i++){
		scanf("%d",&a[i]);
		push(L,a[i]);
	}
	for(i=0;i<10;i++){
		printf("%d ",pop(L));
	}
	return 0;
}