栈的基本实现
来源:互联网 发布:淘宝购买基金 编辑:程序博客网 时间:2024/05/12 06:26
#include<iostream>#include<malloc.h>using namespace std;const stackSize = 10;const stackIncrement = 5;typedef struct{int *base;int *top;int stackSize;} SqStack;int InitStack(SqStack &s){s.base = (int*)malloc( stackSize*sizeof(int) );if(!s.base)return 0;s.top = s.base;s.stackSize = stackSize;return 1;}int Push(SqStack &s, int e){if(s.top - s.base >= s.stackSize){s.base = (int*)realloc(s.base, (s.stackSize + stackIncrement)*sizeof(int) );if(!s.base)return 0;s.top = s.base + s.stackSize;s.stackSize += stackIncrement;}*s.top++ = e;return 1;}int Pop(SqStack &s, int &e){if(s.top == s.base)return 0;e = *(--s.top);return 0;}int StackEmpty(SqStack s){if(s.top == s.base)return 0;return 1;}int StackLenth(SqStack s){return (s.top - s.base);}int main(){int decimal;cout<<"请输入一个十进制的数: ";cin>>decimal;SqStack stack;InitStack(stack);while(decimal){Push(stack, decimal % 2);decimal /= 2;}cout<<StackLenth(stack)<<"此数转换为二进制后为:"<<endl;int e = 0;while( StackEmpty(stack) != 0 ){Pop(stack, e);cout<<e;}cout<<endl;return 0;}
0 0
- 栈的基本实现
- 栈的基本实现
- 栈的基本实现
- 栈的基本运算实现
- 顺序栈的基本实现
- 栈的实现及基本操作
- 用数组实现栈的基本操作
- 顺序栈的基本操作实现
- 链栈基本运算的实现
- 顺序栈的基本操作实现
- 栈的基本用法与实现
- 顺序栈的基本操作实现
- 链栈的基本操作实现
- 基本数据结构-栈的实现及其运用
- 栈的基本操作实现-c/c++
- 栈的实现及基本操作
- C++实现链栈的基本操作
- 栈和队列的基本操作实现
- 图片等比缩放函数
- Android - Earthquake(地震显示器) 项目 详解
- C++并发实战:面试题1:一道多线程笔试题
- 装箱与拆箱
- 【小白笔记】PHP学习之路 (1)
- 栈的基本实现
- ios应用发布流程
- 如何用strace找出ssh后门
- RAC安装一
- Android唯一标识
- Linux route
- python 字符串操作
- 起点
- 40 个很有用的 Mac OS X Shell 脚本和终端命令