/*
队列:队列是一种特殊的线性结构,它只允许在队列的首都(head)进行删除操作,即head++,在队列的尾部进行插入操作,即tail++;假设:在原来数组里加一个0,head=1,记录队首,tail=10,记录为队尾的下一个位置,那么head和tail之间的数就是对列的有效数,如果head==tail,即数组为空。之所以不用tail=9记录队尾,是因为,当数组只剩下一个元素时,队首队尾重合会有一些麻烦。
*/
#pragma mark - - 队列
/*
假设:有一组加密后的数字:6,3,1,7,5,8,9,2,4,它的解密规则如下,首先将第1个数删除,紧接着将第2个数放在这串数字的末尾,然后再将3个数删除,将第4个数放到末尾...按照上述操作,拿到所有删除的数即为解密后的数字,请问解密后的数字?
*/
-(void)duilieSort {
int a[101] = {0,6,3,1,7,5,8,9,2,4};
int head,tail;
// 初始化队列
head =1;
tail =10;
while (head<tail) {
// 打印队首 并将队首移除队列
NSLog(@"%d",a[head]);
head++;
// 将新的队首 添加到队尾
a[tail] = a[head];
tail ++;
// 移除新的队首
head ++;
}
}