c++实现顺序栈

来源:互联网 发布:适合业务员的软件 编辑:程序博客网 时间:2024/06/01 18:53
<span style="font-family: Arial, Helvetica, sans-serif;">// 2.2.2sequence_stack.cpp : 定义控制台应用程序的入口点。IDE是vs2013</span>
#include "stdafx.h"#include<iostream>//顺序栈using namespace std;#define MAXSIZE 1024typedef struct //定义顺序栈的结构{int data[MAXSIZE];int top;}sqstack;void InitalStack(sqstack &st)//1.初始化栈InitalStack(栈名){st.top = -1;//栈为空}int Push(sqstack &st, int x)//2.进栈Push(栈名,元素值){if (st.top == MAXSIZE - 1)//栈满的情况{return 0;}st.top++;//栈长度+1st.data[st.top] = x;//赋值return 1;}int Pop(sqstack &st)//3.出栈Pop(栈名),返回被出栈的值{int e;if (st.top == -1){return 0;}e = st.data[st.top];st.top--;//栈顶-1return e;}int IsEmpty(sqstack &st)//4.判断栈是否为空{return(st.top == -1);}int GetTop(sqstack &st)//5.取栈顶元素{int e;if (st.top == -1)//如果栈为空{return 0;}e = st.data[st.top];//用e返回栈顶元素return e;}int GetLength(sqstack &st)//6.求栈长度{return st.top + 1;}int _tmain(int argc, _TCHAR* argv[]){sqstack s; //定义一个顺序栈InitalStack(s);//初始化Push(s, 1);//进栈Push(s, 2);Pop(s);//出栈cout << GetTop(s) << '\n';//取栈顶元素system("pause");return 0;}
<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">运行结果是</span>
                                             
0 0
原创粉丝点击