栈 --整形数组实现

最近 ,在研究数据结构,栈的特点为“先进后出”,下面的源代码 展现了它的实现过程,vc6.0编写

#include "stdafx.h"
 
int *stack=new int[100];//栈的大小
int iCountNumber=0;//栈中元素的个数
int *pCurTop;//栈指针
///
//初始化栈中的各个元素
//
void iniStack() 
{
for(int i=0;i<100;i++)
stack[i]=-1;
iCountNumber=0;
pCurTop=stack+99;

}
///
//把数iNum压入栈 
//操作成功 返回 true
//操作失败 返回 false
///
bool Push(int iNum)
{
    //当前的压入栈的元素的个数超过100?如果超过 出界
if(iCountNumber>99)
return false;
iCountNumber++;
*pCurTop=iNum;
    pCurTop--;
return true;


///
//出栈 把结果保存在 rNum 
//操作成功 返回 true
//操作失败 返回 false
///
bool Pop(int *rNum)

if(iCountNumber<1)
        return false;
pCurTop++;
*rNum=*pCurTop;
iCountNumber--;
return true;
}
//入口主函数
int main(int argc, char* argv[])
{
    /*******************************************
     栈的实现 实例流程
     先进 后出 
     入栈顺序   0,2,3,4,5,6,7....99;
     出栈顺序   99,98,97..........0
********************************************/
//初始化栈
iniStack();
     /*******************************************
把 0,1,。。。。。104 压入栈中
     其中 100,101,102,103,104 由于超出栈的存储范围不成功
*********************************************/
bool bPushSucess;
for(int k=0;k<105;k++)
{
bPushSucess=Push(k);
if(bPushSucess)
printf("Push index %d sucess,item data =%d\r\n",k,k);
else
printf("Push index%d Failed\r\n",k);

/*******************************************
执行105次出栈操作  把出栈的结果整数保存在 item中
显示在屏幕中,其中 100,101,102,103,104 由于超出栈
的存储范围不成功
*********************************************/
int item;
bool bPopSucess;
for(int k1=0;k1<105;k1++)
{
bPopSucess=Pop(&item); 
if(bPopSucess)
{
printf("Pop index %d sucess item data=%d\r\n",k1,item); 

}
else
printf("Pop index %d Failed\r\n",k1);

}
//清空分配的内存
delete []stack;
//避免dos窗口自动关闭
getchar();
return 0;
}

执行结果如下:

Push index 0 sucess,item data =0
Push index 1 sucess,item data =1
Push index 2 sucess,item data =2
Push index 3 sucess,item data =3
Push index 4 sucess,item data =4
Push index 5 sucess,item data =5
Push index 6 sucess,item data =6
Push index 7 sucess,item data =7
Push index 8 sucess,item data =8
Push index 9 sucess,item data =9
Push index 10 sucess,item data =10
Push index 11 sucess,item data =11
Push index 12 sucess,item data =12
Push index 13 sucess,item data =13
Push index 14 sucess,item data =14
Push index 15 sucess,item data =15
Push index 16 sucess,item data =16
Push index 17 sucess,item data =17
Push index 18 sucess,item data =18
Push index 19 sucess,item data =19
Push index 20 sucess,item data =20
Push index 21 sucess,item data =21
Push index 22 sucess,item data =22
Push index 23 sucess,item data =23
Push index 24 sucess,item data =24
Push index 25 sucess,item data =25
Push index 26 sucess,item data =26
Push index 27 sucess,item data =27
Push index 28 sucess,item data =28
Push index 29 sucess,item data =29
Push index 30 sucess,item data =30
Push index 31 sucess,item data =31
Push index 32 sucess,item data =32
Push index 33 sucess,item data =33
Push index 34 sucess,item data =34
Push index 35 sucess,item data =35
Push index 36 sucess,item data =36
Push index 37 sucess,item data =37
Push index 38 sucess,item data =38
Push index 39 sucess,item data =39
Push index 40 sucess,item data =40
Push index 41 sucess,item data =41
Push index 42 sucess,item data =42
Push index 43 sucess,item data =43
Push index 44 sucess,item data =44
Push index 45 sucess,item data =45
Push index 46 sucess,item data =46
Push index 47 sucess,item data =47
Push index 48 sucess,item data =48
Push index 49 sucess,item data =49
Push index 50 sucess,item data =50
Push index 51 sucess,item data =51
Push index 52 sucess,item data =52
Push index 53 sucess,item data =53
Push index 54 sucess,item data =54
Push index 55 sucess,item data =55
Push index 56 sucess,item data =56
Push index 57 sucess,item data =57
Push index 58 sucess,item data =58
Push index 59 sucess,item data =59
Push index 60 sucess,item data =60
Push index 61 sucess,item data =61
Push index 62 sucess,item data =62
Push index 63 sucess,item data =63
Push index 64 sucess,item data =64
Push index 65 sucess,item data =65
Push index 66 sucess,item data =66
Push index 67 sucess,item data =67
Push index 68 sucess,item data =68
Push index 69 sucess,item data =69
Push index 70 sucess,item data =70
Push index 71 sucess,item data =71
Push index 72 sucess,item data =72
Push index 73 sucess,item data =73
Push index 74 sucess,item data =74
Push index 75 sucess,item data =75
Push index 76 sucess,item data =76
Push index 77 sucess,item data =77
Push index 78 sucess,item data =78
Push index 79 sucess,item data =79
Push index 80 sucess,item data =80
Push index 81 sucess,item data =81
Push index 82 sucess,item data =82
Push index 83 sucess,item data =83
Push index 84 sucess,item data =84
Push index 85 sucess,item data =85
Push index 86 sucess,item data =86
Push index 87 sucess,item data =87
Push index 88 sucess,item data =88
Push index 89 sucess,item data =89
Push index 90 sucess,item data =90
Push index 91 sucess,item data =91
Push index 92 sucess,item data =92
Push index 93 sucess,item data =93
Push index 94 sucess,item data =94
Push index 95 sucess,item data =95
Push index 96 sucess,item data =96
Push index 97 sucess,item data =97
Push index 98 sucess,item data =98
Push index 99 sucess,item data =99
Push index100 Failed
Push index101 Failed
Push index102 Failed
Push index103 Failed
Push index104 Failed
Pop index 0 sucess item data=99
Pop index 1 sucess item data=98
Pop index 2 sucess item data=97
Pop index 3 sucess item data=96
Pop index 4 sucess item data=95
Pop index 5 sucess item data=94
Pop index 6 sucess item data=93
Pop index 7 sucess item data=92
Pop index 8 sucess item data=91
Pop index 9 sucess item data=90
Pop index 10 sucess item data=89
Pop index 11 sucess item data=88
Pop index 12 sucess item data=87
Pop index 13 sucess item data=86
Pop index 14 sucess item data=85
Pop index 15 sucess item data=84
Pop index 16 sucess item data=83
Pop index 17 sucess item data=82
Pop index 18 sucess item data=81
Pop index 19 sucess item data=80
Pop index 20 sucess item data=79
Pop index 21 sucess item data=78
Pop index 22 sucess item data=77
Pop index 23 sucess item data=76
Pop index 24 sucess item data=75
Pop index 25 sucess item data=74
Pop index 26 sucess item data=73
Pop index 27 sucess item data=72
Pop index 28 sucess item data=71
Pop index 29 sucess item data=70
Pop index 30 sucess item data=69
Pop index 31 sucess item data=68
Pop index 32 sucess item data=67
Pop index 33 sucess item data=66
Pop index 34 sucess item data=65
Pop index 35 sucess item data=64
Pop index 36 sucess item data=63
Pop index 37 sucess item data=62
Pop index 38 sucess item data=61
Pop index 39 sucess item data=60
Pop index 40 sucess item data=59
Pop index 41 sucess item data=58
Pop index 42 sucess item data=57
Pop index 43 sucess item data=56
Pop index 44 sucess item data=55
Pop index 45 sucess item data=54
Pop index 46 sucess item data=53
Pop index 47 sucess item data=52
Pop index 48 sucess item data=51
Pop index 49 sucess item data=50
Pop index 50 sucess item data=49
Pop index 51 sucess item data=48
Pop index 52 sucess item data=47
Pop index 53 sucess item data=46
Pop index 54 sucess item data=45
Pop index 55 sucess item data=44
Pop index 56 sucess item data=43
Pop index 57 sucess item data=42
Pop index 58 sucess item data=41
Pop index 59 sucess item data=40
Pop index 60 sucess item data=39
Pop index 61 sucess item data=38
Pop index 62 sucess item data=37
Pop index 63 sucess item data=36
Pop index 64 sucess item data=35
Pop index 65 sucess item data=34
Pop index 66 sucess item data=33
Pop index 67 sucess item data=32
Pop index 68 sucess item data=31
Pop index 69 sucess item data=30
Pop index 70 sucess item data=29
Pop index 71 sucess item data=28
Pop index 72 sucess item data=27
Pop index 73 sucess item data=26
Pop index 74 sucess item data=25
Pop index 75 sucess item data=24
Pop index 76 sucess item data=23
Pop index 77 sucess item data=22
Pop index 78 sucess item data=21
Pop index 79 sucess item data=20
Pop index 80 sucess item data=19
Pop index 81 sucess item data=18
Pop index 82 sucess item data=17
Pop index 83 sucess item data=16
Pop index 84 sucess item data=15
Pop index 85 sucess item data=14
Pop index 86 sucess item data=13
Pop index 87 sucess item data=12
Pop index 88 sucess item data=11
Pop index 89 sucess item data=10
Pop index 90 sucess item data=9
Pop index 91 sucess item data=8
Pop index 92 sucess item data=7
Pop index 93 sucess item data=6
Pop index 94 sucess item data=5
Pop index 95 sucess item data=4
Pop index 96 sucess item data=3
Pop index 97 sucess item data=2
Pop index 98 sucess item data=1
Pop index 99 sucess item data=0
Pop index 100 Failed
Pop index 101 Failed
Pop index 102 Failed
Pop index 103 Failed
Pop index 104 Failed





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值