随笔 - 8  文章 - 26  trackbacks - 0
<2009年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(4)

随笔档案

文章分类

文章档案

相册

C++语言

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 1//数据结构堆栈实现(基于数组)
 2#ifndef STACK_H
 3#define STACK_H
 4template<class T>
 5class Stack
 6{
 7public:
 8Stack(int maxsize=50);
 9virtual ~Stack();
10bool IsEmpty();
11Stack<T>& Push(const T &val);
12Stack<T>& Pop(T &e);
13T& GetTop() const{return Data[Top];};
14int Size() const {return Top+1;};
15
16private:
17    T *Data;
18    int MaxSize;
19    int Top;
20
21}
;
22
23
24//-----------------------------------------------------------
25template<class T>
26Stack<T>::Stack(int maxsize)
27{
28MaxSize=maxsize;
29Data=new T[MaxSize];
30Top=-1;
31}

32
33//-----------------------------------------------------------
34template<class T>
35bool Stack<T>::IsEmpty()
36{    return Top==-1?true:false;
37
38}

39//-----------------------------------------------------------
40template<class T>
41Stack<T>::~Stack()
42{
43delete[] Data; 
44}

45//-----------------------------------------------------------
46template<class T>
47Stack<T>& Stack<T>::Push(const T &val)
48{
49if(Top==MaxSize-1throw exception("栈上溢");
50Data[++Top]=val;
51return *this;
52}

53//-----------------------------------------------------------
54template<class T>
55Stack<T>& Stack<T>::Pop(T &e)
56{
57if(Top==-1throw exception("栈下溢");
58e=Data[Top--];
59return *this;
60}

61#endif
posted on 2008-09-19 18:43 杨彬彬 阅读(232) 评论(0)  编辑 收藏 引用 所属分类: 数据结构

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理