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 混合编程的小结(3890)
5. SYSENTER指令相关(大段的转载-_-)(3598)
评论排行榜
1. 通过虚函数表访问私有虚函数(10)
2. 安全密码框的设计(8)
3. 保护模式与实模式的切换(4)
4. VC++内联汇编(MSDN相关内容完整翻译)(1)
5. NASM 与 VC 混合编程的小结(1)
数据结构栈简单实现(基于链表)
1
//
数据结构栈实现(基于链表)
2
#ifndef STACKLIST_H
3
#define
STACKLIST_H
4
//
节点结构
5
template
<
class
T
>
6
class
Node
7
{
8
public
:
9
Node(
const
T
&
val)
{data
=
val;next
=
NULL;}
10
T data;
11
Node
<
T
>
*
next;
12
}
;
13
14
//
栈实现
15
template
<
class
T
>
16
class
Stack
17
{
18
public
:
19
Stack();
20
virtual
~
Stack();
21
bool
IsEmpty();
22
Stack
<
T
>&
Push(
const
T
&
val);
23
Stack
<
T
>&
Pop(T
&
e);
24
T
&
GetTop()
const
{
return
Top
->
data;}
;
25
int
Size()
const
{
return
_Size;}
;
26
27
private
:
28
int
_Size;
29
Node
<
T
>
*
Top;
30
31
}
;
32
//
-----------------------------------------------------------
33
template
<
class
T
>
34
Stack
<
T
>
::Stack()
35
{
36
Top
=
NULL;
37
_Size
=
0
;
38
}
39
40
//
-----------------------------------------------------------
41
template
<
class
T
>
42
bool
Stack
<
T
>
::IsEmpty()
43
{
return
!
Top
?
true
:
false
;
44
45
}
46
//
-----------------------------------------------------------
47
template
<
class
T
>
48
Stack
<
T
>
::
~
Stack()
49
{
50
Node
<
T
>*
move
=
NULL;
51
while
(Top)
52
{
53
move
=
Top
->
next;
54
delete Top;
55
Top
=
move;
56
}
57
58
}
59
//
-----------------------------------------------------------
60
template
<
class
T
>
61
Stack
<
T
>&
Stack
<
T
>
::Push(
const
T
&
val)
62
{
63
64
Node
<
T
>
*
NewNode
=
new
Node
<
T
>
(val);
65
NewNode
->
next
=
Top;
66
Top
=
NewNode;
67
++
_Size;
68
return
*
this
;
69
}
70
//
-----------------------------------------------------------
71
template
<
class
T
>
72
Stack
<
T
>&
Stack
<
T
>
::Pop(T
&
e)
73
{
74
if
(Top
==
NULL)
throw
exception(
"
栈下溢
"
);
75
e
=
Top
->
data;
76
Node
<
T
>
*
p
=
Top;
77
Top
=
Top
->
next;
78
delete p;
79
--
_Size;
80
return
*
this
;
81
}
82
83
84
#endif
posted on 2008-09-19 19:09
杨彬彬
阅读(549)
评论(0)
编辑
收藏
引用
所属分类:
数据结构
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
循环队列实现
数据结构栈简单实现(基于链表)
栈结构简单实现(基于数组)
单向带头结点循环链表实现
关于红黑树(r-b树)的相关资料
二叉搜索树实现
二叉树实现
最大高度优先左高树(HBLT)实现
最大堆实现
链表类---转载
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理