队列 整形数组实现

队列特性:先进先出(FIFO)——先进队列的元素先出队列。

下面的源代码实例了 100个元素的 入队和出队过程 

     入队列顺序   0,1,2,3,4,5,6,7....99;
     出队列顺序   0,1,2,3,4,5,6,7....99;
//

#include "stdafx.h"
//全局变量
int *queue=new int[100];//队列的大小
int iCountNumber=0;//队列中元素的个数
int *pCurTail;//队列指针,始终指向要出队列的尾部元素 
int *pCurHead;//队列指针,始终指向要出队列的元素 
///
//初始化队列中的各个元素
//
void iniQueue() 
{
for(int i=0;i<100;i++)
queue[i]=-1;
iCountNumber=0;
pCurTail=queue;
pCurHead=queue;

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


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

if(iCountNumber<1)
        return false;
pCurTail--;
*rNum=*pCurHead++;
iCountNumber--;
return true;
}
//入口主函数
int main(int argc, char* argv[])
{
   
//初始化队列
iniQueue();
     /*******************************************
把 0,1,。。。。。104 加入队列中
     其中 100,101,102,103,104 由于超出队列的存储范围不成功
*********************************************/
bool bEnterQueueSucess;
for(int k=0;k<105;k++)
{
bEnterQueueSucess=EnterQueue(k);
if(bEnterQueueSucess)
printf("EnterQueue index %d sucess,item data =%d\r\n",k,k);
else
printf("EnterQueue index%d Failed\r\n",k);

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

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

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

}

执行结果如下

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值