xingkongyun
星空陨的程序小站
C++博客
首页
新随笔
联系
聚合
管理
随笔 - 8 文章 - 26 trackbacks - 0
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(4)
给我留言
查看公开留言
查看私人留言
随笔档案
2009年12月 (1)
2009年9月 (1)
2009年4月 (1)
2008年12月 (1)
2008年11月 (1)
2008年10月 (2)
2008年9月 (1)
文章分类
C++语言(6)
Directx(1)
STL(2)
VC++
Windows编程(4)
操作系统(4)
数据结构(10)
文章档案
2008年11月 (1)
2008年10月 (3)
2008年9月 (10)
2008年7月 (1)
2008年6月 (13)
相册
图示
C++语言
C++的罗浮宫
搜索
最新评论
1. re: 卸载远程线程中的DLL
水平很高,学习了。
--王小亮
2. re: 卸载远程线程中的DLL
评论内容较长,点击标题查看
--疑问
3. re: NASM 与 VC 混合编程的小结
收下了
--5545645
4. re: VC++内联汇编(MSDN相关内容完整翻译)
谢谢
--5545645
5. re: 安全密码框的设计
评论内容较长,点击标题查看
--徐胖子
阅读排行榜
1. VC++内联汇编(MSDN相关内容完整翻译)(9233)
2. 保护模式与实模式的切换(7993)
3. 安全密码框的设计(4937)
4. NASM 与 VC 混合编程的小结(3891)
5. SYSENTER指令相关(大段的转载-_-)(3598)
评论排行榜
1. 通过虚函数表访问私有虚函数(10)
2. 安全密码框的设计(8)
3. 保护模式与实模式的切换(4)
4. VC++内联汇编(MSDN相关内容完整翻译)(1)
5. NASM 与 VC 混合编程的小结(1)
栈结构简单实现(基于数组)
1
//
数据结构堆栈实现(基于数组)
2
#ifndef STACK_H
3
#define
STACK_H
4
template
<
class
T
>
5
class
Stack
6
{
7
public
:
8
Stack(
int
maxsize
=
50
);
9
virtual
~
Stack();
10
bool
IsEmpty();
11
Stack
<
T
>&
Push(
const
T
&
val);
12
Stack
<
T
>&
Pop(T
&
e);
13
T
&
GetTop()
const
{
return
Data[Top];}
;
14
int
Size()
const
{
return
Top
+
1
;}
;
15
16
private
:
17
T
*
Data;
18
int
MaxSize;
19
int
Top;
20
21
}
;
22
23
24
//
-----------------------------------------------------------
25
template
<
class
T
>
26
Stack
<
T
>
::Stack(
int
maxsize)
27
{
28
MaxSize
=
maxsize;
29
Data
=
new
T[MaxSize];
30
Top
=-
1
;
31
}
32
33
//
-----------------------------------------------------------
34
template
<
class
T
>
35
bool
Stack
<
T
>
::IsEmpty()
36
{
return
Top
==-
1
?
true
:
false
;
37
38
}
39
//
-----------------------------------------------------------
40
template
<
class
T
>
41
Stack
<
T
>
::
~
Stack()
42
{
43
delete[] Data;
44
}
45
//
-----------------------------------------------------------
46
template
<
class
T
>
47
Stack
<
T
>&
Stack
<
T
>
::Push(
const
T
&
val)
48
{
49
if
(Top
==
MaxSize
-
1
)
throw
exception(
"
栈上溢
"
);
50
Data[
++
Top]
=
val;
51
return
*
this
;
52
}
53
//
-----------------------------------------------------------
54
template
<
class
T
>
55
Stack
<
T
>&
Stack
<
T
>
::Pop(T
&
e)
56
{
57
if
(Top
==-
1
)
throw
exception(
"
栈下溢
"
);
58
e
=
Data[Top
--
];
59
return
*
this
;
60
}
61
#endif
posted on 2008-09-19 18:43
杨彬彬
阅读(232)
评论(0)
编辑
收藏
引用
所属分类:
数据结构
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
循环队列实现
数据结构栈简单实现(基于链表)
栈结构简单实现(基于数组)
单向带头结点循环链表实现
关于红黑树(r-b树)的相关资料
二叉搜索树实现
二叉树实现
最大高度优先左高树(HBLT)实现
最大堆实现
链表类---转载
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理