C++实现顺序栈
来源:互联网 发布:ca证书网络检测不通过 编辑:程序博客网 时间:2024/05/17 00:58
/* * Stack.h * * Created on: Oct 6, 2015 * Author: chris */#ifndef SQSTACK_H_#define SQSTACK_H_typedef int ElemType;enum {STACKINITSIZE = 10, STACKINCSIZE = 10};struct SqStack{ElemType* base;ElemType* top;int siz;};bool SqStackCreate(SqStack& stk);void SqStackDestroy(SqStack& stk);void SqStackClear(SqStack& stk);int SqStackLength(SqStack& stk);bool SqStackEmpty(SqStack& stk);int SqStackSize(SqStack& stk);bool SqStackPush(SqStack& stk, ElemType e);bool SqStackPop(SqStack& stk);bool SqStackTop(SqStack& stk, ElemType& e);void SqStackDisplay(SqStack& stk);#endif /* SQSTACK_H_ */
/* * SqStack.cpp * * Created on: Oct 7, 2015 * Author: chris */#include"SqStack.h"#include<iostream>using namespace std;bool SqStackCreate(SqStack& stk){stk.top = stk.base = new ElemType[STACKINITSIZE];if(!stk.base) return false;stk.siz = STACKINITSIZE;return true;}void SqStackDestroy(SqStack& stk){delete stk.base;stk.base = stk.top = NULL;stk.siz = 0;}void SqStackClear(SqStack& stk){stk.top = stk.base;}int SqStackLength(SqStack& stk){return stk.top-stk.base;}bool SqStackEmpty(SqStack& stk){return stk.top == stk.base;}int SqStackSize(SqStack& stk){return stk.siz;}bool SqStackPush(SqStack& stk, ElemType e){if(stk.top == stk.base + stk.siz) { //realloc.ElemType * temp = new ElemType[stk.siz + STACKINCSIZE];if(!temp) return false; //overflow.stk.siz = stk.siz + STACKINCSIZE;int cnt = stk.top - stk.base;for(int i = 0; i < cnt; ++i)temp[i] = stk.base[i];delete stk.base;stk.base = temp;stk.top = stk.base + cnt;}*stk.top++ = e;return true;}bool SqStackPop(SqStack& stk){if(stk.base == stk.top)return false;--stk.top;return true;}bool SqStackTop(SqStack& stk, ElemType &e){if(stk.base == stk.top)return false;e = *(stk.top-1);return true;}void SqStackDisplay(SqStack& stk){ElemType* pcur = stk.top;while(pcur != stk.base) {cout << *(pcur-1) << " ";--pcur;}cout << endl;}
0 0
- c实现顺序栈
- c实现顺序栈
- 顺序栈 C语言实现
- 用c 实现顺序栈
- 顺序栈的实现 c
- C语言实现顺序栈
- c语言实现顺序栈
- C语言 实现 顺序栈
- 顺序栈的C实现
- 顺序栈C语言实现
- C语言实现顺序栈
- C实现顺序栈和链式栈
- 顺序栈的C语言实现
- C语言实现数据结构中的顺序栈
- 顺序栈的实现(C语言)
- 顺序栈的C语言实现
- 顺序栈的实现(ANSI C)
- 数据结构的C实现_顺序栈
- Android 颜色渲染(九) PorterDuff及Xfermode详解
- 利用栈解析算术表达式
- WIN7无线经常断线-间歇性地掉线-解决方法
- C++实现链栈
- AbstractQueuedSynchronizer的介绍和原理分析
- C++实现顺序栈
- stm32休眠 以及休眠中如何喂狗
- *LeetCode-Copy List with Random Pointer
- 某自称菜鸟的日常笔记(3)
- C++实现循环队列
- 【Python】Learn Python the hard way, ex8 格式化字符串
- 用SQL快速删除U8账套
- intent隐式调用大全(调用系统的的组件)
- mac下,提交工程到svn时 .a文件提交不上