栈的基本操作C

默认分类 | 2018-04-09 23:19:01 | 329次阅读 | 0评
#include <iostream>//#include <stdio.h>和using namespace std;可以省略
#include <stdio.h>
#define MAXSIZE 10 
using namespace std;

struct Stack//定义关于栈的机构体
{
int a[MAXSIZE];
int top; 
}; 
void push(struct Stack &s);// 这里涉及到了引用就相当于指针的作用 
void pop(struct Stack &s);
void InitStack(struct Stack &s);
void GetStack(struct Stack &s);
int main()
{
struct Stack s1;
InitStack(s1);
push(s1);
//pop(s1);  这个是出栈
GetStack(s1);  //这个是得到栈顶元素
}
//进栈 
void push(struct Stack &s)
{
for(int i=0;i<10;i++)
{
s.top++;
s.a[s.top]=(i*10);
}

}

//出栈

void pop(struct Stack &s)
{
for(int i=0;i<10;i++)
{
printf("%d ",s.a[s.top]);
s.top--;
}

}

//初始化栈

void InitStack(struct Stack &s)
{
s.top=-1;

}

//对栈赋初值

void GetStack(struct Stack &s)
{
printf("%d",s.a[s.top]);
}

//此函数是用引用的方式对函数操作 

//此函数是对栈的操作

博友评论,共0条
浏览1267次
最新评论