计蒜客 数据结构 栈 数列翻转
2016-08-11 22:08
375 查看
//数据结构 栈 数列翻转 #include<iostream> #include<string> #include<cassert> using namespace std; template<class Type> class Stack { private: Type *urls; int max_size, top_index; public: Stack(int length_input) { urls = new Type[length_input]; max_size = length_input; top_index = -1; } ~Stack() { delete[] urls; } bool push(const Type &element) { if (top_index >= max_size - 1) { return false; } top_index++; urls[top_index] = element; return true; } bool pop() { if (top_index < 0) { return false; } top_index--; return true; } Type top() { assert(top_index >= 0); return urls[top_index]; } bool empty(){ if(top_index < 0){ return true; } else{ return false; } } }; int main() { //n表示输入元素个数,num表示输入的元素 int n,num; cin>>n; //定义一个int类型的栈stack,n表示栈里最多有n个元素 Stack<int> stack(n); for(int i = 1;i <= n; i++){ cin>>num; stack.push(num); } while(!stack.empty()){ cout<<stack.top()<<" "; stack.pop(); } return 0; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- C#数据结构之顺序表(SeqList)实例详解
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(七):数据结构详解
- Lua教程(二):C++和Lua相互传递数据示例
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- C#数据结构之队列(Quene)实例详解
- C#数据结构揭秘一
- C#数据结构之单链表(LinkList)实例详解
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题