My road to c++
C++博客
首页
新随笔
联系
聚合
管理
随笔-13 评论-0 文章-2 trackbacks-0
栈的实现(顺序结构)Alpha 1.0
1
/**/
/*
*
2
Stack(use array to implement)
3
Version: 1.0
4
Member function as follow:
5
size()
6
push(T) // inset an elm
7
pop() // delete the last elm
8
empty() // if it is an empty list
9
print()
10
11
Use C++ template
12
*
*/
13
#include
<
iostream
>
14
#include
<
string
>
15
16
17
using
namespace
std;
18
#ifndef SQSTACK_H
19
#define
SQSTACK_H
20
21
template
<
typename T
>
22
class
sqStack
23
{
24
public
:
25
sqStack():top(
-
1
)
{}
26
~
sqStack()
{ top
=
-
1
; }
;
27
bool
Empty()
const
{
return
top
==
-
1
; }
28
void
Push(
const
T
&
);
29
void
Pop()
{ assert(top
>
-
1
); top
--
;}
;
30
void
Print()
const
;
31
int
Size()
const
{
return
(top
+
1
);}
;
32
private
:
33
static
const
int
MaxSize
=
200
;
34
T elem[MaxSize];
35
int
top;
36
}
;
37
38
template
<
typename T
>
void
sqStack
<
T
>
::Push(
const
T
&
one)
39
{
40
assert(top
<=
MaxSize
-
1
);
41
top
++
;
42
elem[top]
=
one;
43
}
44
45
template
<
typename T
>
void
sqStack
<
T
>
::Print()
const
46
{
47
for
(
int
i
=
0
; i
<
top; i
++
)
48
cout
<<
elem[i]
<<
"
"
;
49
cout
<<
elem[top]
<<
endl;
50
}
51
52
#endif
//Test Function
1
//
Test Function
2
int
main()
3
{
4
using
namespace
std;
5
sqStack
<
int
>
stack;
6
cout
<<
"
----------------Display the stack program-----------------------
"
<<
endl;
7
cout
<<
"
\n Initial the stack,please input the number of element to push stack
"
<<
endl;
8
cout
<<
"
number =
"
;
9
int
number;
10
cin
>>
number;
11
cout
<<
"
Secondly input the number in the following\n
"
<<
endl;
12
int
temp;
13
for
(
int
i
=
0
; i
<
number; i
++
)
14
{
15
cin
>>
temp;
16
stack.Push(temp);
17
}
18
cout
<<
"
You Input As Follow
"
<<
endl;
19
stack.Print();
20
cout
<<
"
Would you like to display the pop function
Yes or No
"
<<
endl;
21
string
answer;
22
cin
>>
answer;
23
if
( answer
==
"
yes
"
||
answer
==
"
YES
"
)
24
{
25
stack.Pop();
26
stack.Print();
27
}
28
cout
<<
"
-----------------------------------------------------------------
"
<<
endl;
29
system(
"
pause
"
);
30
return
0
;
31
32
}
33
posted on 2009-03-18 22:44
亦夏
阅读(236)
评论(0)
编辑
收藏
引用
所属分类:
DataStruct
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
栈的实现(顺序结构)Alpha 2.0
二查查找树的实现(链式) Alpha1.0
队列的实现(链式结构) Alpha 1.0
队列的实现(数组结构) Alpha 1.0
栈的实现(链式结构)Alpha 1.0
栈的实现(顺序结构)Alpha 1.0
循环链表的实现(Alpha)
双向链表的实现(Alpha1.0 )
单向链表的实现(Alpha 1.0)
线性表的顺序表示和实现(静态数组方式)(Alpha1.0)
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2009年3月
>
日
一
二
三
四
五
六
22
23
24
25
26
27
28
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
31
1
2
3
4
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
(13)
ACM (2)
DataStruct(10)
TopCoder(1)
随笔档案
(13)
2009年5月 (1)
2009年4月 (3)
2009年3月 (5)
2009年2月 (4)
文章分类
(2)
ACM(1)
Alogrithm
C part of c++
C++0X
Datestruct
Game of c++
General(1)
Object-orient of c++
Others
Puzzle
STL
Template c++
Visual c++
文章档案
(2)
2009年2月 (1)
2009年1月 (1)
搜索
最新随笔
1. Search and DP
2. 栈的实现(顺序结构)Alpha 2.0
3. HowEasy
4. HDOJ_1010.Tempter of the Bone(DFS)
5. 二查查找树的实现(链式) Alpha1.0
6. 队列的实现(链式结构) Alpha 1.0
7. 队列的实现(数组结构) Alpha 1.0
8. 栈的实现(链式结构)Alpha 1.0
9. 栈的实现(顺序结构)Alpha 1.0
10. 循环链表的实现(Alpha)
最新评论
阅读排行榜
1. HDOJ_1010.Tempter of the Bone(DFS)(906)
2. 队列的实现(链式结构) Alpha 1.0(462)
3. HowEasy(435)
4. Search and DP(397)
5. 线性表的顺序表示和实现(静态数组方式)(Alpha1.0)(338)
评论排行榜
1. 线性表的顺序表示和实现(静态数组方式)(Alpha1.0)(0)
2. 单向链表的实现(Alpha 1.0)(0)
3. 双向链表的实现(Alpha1.0 )(0)
4. 循环链表的实现(Alpha)(0)
5. 栈的实现(顺序结构)Alpha 1.0(0)