数据结构之栈的操作实现
来源:互联网 发布:python生成100个随机数 编辑:程序博客网 时间:2024/05/29 08:57
#include <iostream>using namespace std;#define SIZEOFSTACK 8;//栈的定义typedef struct { int *top; int *base; int stacksize;}SqStack;//初始化一个栈int InitStack(SqStack &stack){ stack.base=new int; if (!stack.base) { cout<<"存储初始化失败!"<<endl; return 0; } stack.top=stack.base; //空栈 stack.stacksize=SIZEOFSTACK; return 0;}//插入元素bool Push(SqStack &stack,int value){ if (stack.top-stack.base>=stack.stacksize) { cout<<"栈满!无法插入元素!"<<endl; return false; } *(stack.top)=value; //栈的top指针指向栈顶的上一个元素 stack.top++; return true;}//删除元素bool Pop(SqStack &stack,int &value) //使用value保存删除的栈的元素的值{ if (stack.base==stack.top) { cout<<"栈为空,无法删除!"<<endl; return false; } stack.top--; value=*stack.top;// value=*(--stack.top); return true;}//获取栈的元素int GetStackvalue(SqStack &stack){ if (stack.top==stack.base) { cout<<"栈为空!"<<endl; return -1; } int *p=stack.top-1; while (p>=stack.base) { cout<<*(p)<<" "; p--; } cout<<endl; return 0;}void main(){ SqStack stack; InitStack(stack); int i=0; while (i<10) { Push(stack,i*10); i++; } GetStackvalue(stack); int k; Pop(stack,k); Pop(stack,k); GetStackvalue(stack); cout<<"k="<<k<<endl;}
0 0
- 数据结构之栈的操作实现
- 数据结构之 单链表的实现与操作
- 数据结构之 队列的操作与实现
- 数据结构之串的操作实现
- 数据结构之栈的实现
- 数据结构之栈的实现
- 数据结构之栈的实现
- 数据结构-栈的基本操作实现
- 数据结构-共享栈的基本操作实现
- 数据结构之链表的增删操作的Java实现
- PHP数据结构之五:栈的PHP的实现和栈的基本操作
- PHP数据结构之五 栈的PHP的实现和栈的基本操作
- 数据结构之 顺序表的实现与操作
- 数据结构之用子树表示法实现树的操作
- 数据结构之 顺序栈的操作
- 数据结构之栈的基本操作
- 数据结构之链栈的所有操作
- 数据结构之栈的基本操作
- 数据结构(二)基本概念
- 8. String to Integer (atoi)--2016/10/10
- 深入浅出傅里叶变换(一)
- HasValue 判断可空类型是否有值
- 欢迎使用CSDN-markdown编辑器
- 数据结构之栈的操作实现
- 在eclipse下配置struts
- MVP模式的RecyclerView案例
- qt4、qt5中的QVBoxLayout函数
- [LeetCode]--203. Remove Linked List Elements
- 泛型(二)实践-泛型基本使用
- Android webView点击图片放大效果之坑
- 51nod数字0-9的数量(数位dp)
- Sublime Text 3 配置 c/c++、Java编译运行环境