栈(C++实现)
来源:互联网 发布:java 判断小数 编辑:程序博客网 时间:2024/04/27 19:16
栈数组实现
stack_with_array.h
#ifndef STACK_WITH_ARRAY_H#define STACK_WITH_ARRAY_H#include <cstdlib> // provides size_ttemplate < class Item >class stack{public:typedef std::size_t size_type;typedef Item value_type;static const size_type CAPACITY = 30;stack( ) {used = 0;} ;void push(const Item& entry) ;void pop( ) ;bool empty( ) const {return used == 0 ;}size_type size( ) const {return used ;}Item top( ) const ;private:Item data[ CAPACITY ] ;size_type used ;};#endif
stack_with_array.cpp
#include <cassert>template <class Item>const typename stack<Item>::size_type stack<Item>::CAPACITY ;template <class Item>void stack<Item>::push(const Item& entry){assert(size( ) < CAPACITY);data[ used] = entry ;++used ;}template <class Item>void stack<Item>::pop( ){assert( !empty( ) ) ;--used ;}template <class Item>Item stack<Item>::top( ) const{assert(!empty()) ;return data[used - 1] ;}
栈链表实现
stack_with_list.h
#ifndef STACK_WITH_LIST_H#define STACK_WITH_LIST_H#include <cstdlib>#include <list>template <class Item>class stack{public://TYPEDEFStypedef std::size_t size_type ;typedef Item value_type ;//CONSTRCTORS AND EDSTRUCTORstack( ) {top_ptr = NULL ; }~stack( ){ top_ptr.clear( ) ;}//MODIFICATION MEMBER FUNCTIONvoid push( const Item& entry ) ;void pop( ) ;void operator =(const stack& source ) ;//CONSTANT MEMBER FUNCTIONSsize_type size( ) {return top_ptr->size( ) ; }bool empty( ) const {return top_ptr == NULL ;}Item top ( ) const ;private:list *top_ptr ;};#include "stack_with_list.template"#endif
0 0
- c实现顺序栈
- C实现链式栈
- 栈C语言实现
- C语言实现栈
- 栈的C实现
- c实现顺序栈
- C语言实现栈
- C实现栈
- C语言实现栈
- 栈(c实现)
- C语言实现栈
- C语言实现栈
- 【c++】栈的实现
- C代码实现栈
- C链栈实现
- C链式栈实现
- c语言实现栈
- C语言实现栈
- 【Android】Android系统性能调优工具介绍
- Android4.X 的SIM卡信息的初始化过程
- 将excel数据通过plsql导入oracle的问题
- 加载资源进度条
- 一些资料书签(备份)
- 栈(C++实现)
- spring mvc 多视图配置
- 手机短信记录丢失如何恢复
- HTML +JavaScript 正则表达式来验证信息
- Windows 下单机最大TCP连接数
- 强制td不换行
- 快速排序算法
- 限制UITextField的输入字数
- compile/link prebuilt nonstatic java library failed?