顺序栈的基本操作
来源:互联网 发布:淘宝卖家怎么查看投诉 编辑:程序博客网 时间:2024/05/29 03:22
#include <iostream>#include <stdlib.h>#define space 20using namespace std;typedef struct stack{ int* base;//数组 int top; int stacksize;//长度}qstack;void init(qstack &s,int size){ s.base=(int*)malloc(size*sizeof(int)); if(s.base==NULL) { return; } s.stacksize=size; s.top=0;//栈顶指针指向下标为0的位置}void empty(qstack &s){ if(s.top==0) { cout<<"empty"; } else { cout<<"no"; }}void clear(qstack &s)//讲顺序栈内存清空{ s.top=0;}int lengh(qstack &s)//求顺序栈长度{ return s.top;}void push(qstack &s,int e)//入栈{ int *new_; if(s.top==s.stacksize)//如果不够扩充内存 { new_=(int*)realloc(s.base,(s.stacksize+space)*sizeof(int)); s.base=new_; s.stacksize=s.stacksize+space; } s.base[s.top]=e;//将e付给base[top]; s.top++;}void pop(qstack &s,int &e)//出栈{ if(s.top==0) return; s.top--; e=s.base[s.top];}void get(qstack &s,int &e)//得到栈顶元素{ if(s.top==0) { return; } s.top--; e=s.base[s.top]; }void traverse(qstack &s)//例遍{ while(s.top>0) { s.top--; cout<<s.base[s.top]; }}int main(){ qstack s; init(s,10); push(s,1); push(s,2); push(s,3); traverse(s); int e=0; pop(s,e); cout<<e; return 0;}
0 0
- 顺序栈的基本操作
- 顺序栈的基本操作....
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 顺序栈的基本操作
- 优秀的IT、Web、编程语言学习平台汇总
- Hive 简单介绍
- Linux常用命令
- MAC中用到的终端命令大全更新
- 图片加载UIL的Disk缓存策略
- 顺序栈的基本操作
- handler——封装任务 Message
- android developer tiny share-20160824
- 学习hadoop需要具备基础知识
- 384.[LeetCode]First Unique Character in a String
- 如何在QT中实现C语言中调用C++的函数
- adfasdf
- 五十道编程小题目 --- 14 java
- B-tree/B+tree/B*tree