打字猴:1.70041535e+09
1700415350
1700415351   /*更新栈顶指针的值*/
1700415352
1700415353   StackPointer++;
1700415354
1700415355 }
1700415356
1700415357 /*出栈函数*/
1700415358
1700415359 char Pop(){
1700415360
1700415361   /*更新栈顶指针的值*/
1700415362
1700415363   StackPointer—;
1700415364
1700415365   /*把数据从栈顶指针所指的位置中取出来*/
1700415366
1700415367   return Stack[StackPointer];
1700415368
1700415369 }
1700415370
1700415371 图6.8 数组变成了“数据的小山”
1700415372
1700415373
1700415374
1700415375
1700415376 为了实现队列这种数据结构,以下元素是必不可少的:(1)一个任意大小的数组;(2)一个用于存放排在队首的数据对应的索引的变量;(3)一个用于存放排在队尾的数据压的索引变量;(4)一对函数,分别用于把数据存入到队列和从队列中把数据取出来。如果数据一直存放在数组的末尾,那么下一个存储位置就会折回数组的开头。这样就相当于数组的末尾就和开头连接上了,于是虽然数组的物理结构是“直线”,但其逻辑结构已经变成了“圆环”(如代码清单6.7和图6.9所示)
1700415377
1700415378 代码清单6.7 使用一个数组、两个变量和两个函数实现队列
1700415379
1700415380 char Queue[100];                    /*作为队列本质的数组*/
1700415381
1700415382 char SetIndex=0;                    /*标识数据存储位置的索引*/
1700415383
1700415384 char GetIndex=0;                    /*标识数据读取位置的索引*/
1700415385
1700415386 /*存储数据的函数*/
1700415387
1700415388 void Set(char Data){
1700415389
1700415390   /*存入数据*/
1700415391
1700415392   Queue[SetIndex]=Data;
1700415393
1700415394   /*更新标识数据存储位置的索引*/
1700415395
1700415396   SetIndex++;
1700415397
1700415398   /*如果已到达数组的末尾则折回到开头*/
1700415399
[ 上一页 ]  [ :1.70041535e+09 ]  [ 下一页 ]