// 栈.cpp: 定义控制台应用程序的入口点。
#include "stdafx.h"
#include "stdio.h"
#include "malloc.h"
#define MAXSIZE 1024
typedef int elemtype;
typedef struct zhan{
elemtype data[MAXSIZE];
int top;
}Zhan;
//初始化
Zhan *Init() {
Zhan *Z;
Z = (Zhan*)malloc(sizeof(Zhan));
Z->top = -1;
return Z;
}
//判断栈当否为空
int Kong(Zhan *Z) {
if (Z->top == -1)printf("栈为空\n");
else printf("栈不为空\n");
return 1;
}
//入栈
int Push(Zhan *Z,int x) {
Z->top++;
Z->data[Z->top]=x;
return 1;
}
//出栈
int Pop(Zhan *Z) {
Z->top--;
printf("出栈的元素为%5d\n", Z->data[Z->top+1]);
return 1;
}
//遍历栈
int Prints(Zhan *Z) {
printf("栈内元素为\n");
for (int i = 0; i <= Z->top; i++) {
printf("%5d\n", Z->data[i]);
}
return 1;
}
int main()
{
//初始化
Zhan *Z = Init();
//判断栈
Kong(Z);
//入栈
printf("开始入栈");
Push(Z, 10);Push(Z, 20);
Push(Z, 30);Push(Z, 40);
//入栈之后判断
Kong(Z);
//遍历
Prints(Z);
//出栈
Pop(Z); Pop(Z);
Pop(Z); Pop(Z);
//出栈之后判断
Kong(Z);
return 0;
}
栈——c
最新推荐文章于 2024-08-11 17:51:29 发布