1 队列 (解密QQ号)
不用结构体:
#include<stdio.h>
int main()
{
int q[102]={
0,6,3,1,7,5,8,9,2,4},head,tail;
/*初始化队列*/
head=1;
tail=10; //队列中已经有9个元素了,tail指向队尾的后一个位置
while(head<tail) //当队列不为空的时候执行循环
{
printf("%d ",q[head]); //打印队首并将队首出队
head++;
q[tail]=q[head]; //先将新队首的数添加到队尾
tail++;
head++; //再将队首出队
}
return 0;
}
使用结构体:
#include<stdio.h>
struct queue{
int data[100]; //队列的主体
int head; //队首
int tail; //队尾
};
int main()
{
struct queue q;
int i;
/*初始化队列*/
q.head=1;
q.tail=1;
for(i=1;i<=9;i++)
{
scanf("%d ",&q.data[q.tail]); //依次向队列插入9个数
q.tail++;
}
while(q.head<q.tail)//当队列不为空的时候 执行循环
{
printf("%d ",&q.data[q.head]); //打印队首并将队首出队
q.head++;
q.data[q.tail]=q.data[q.head]; //先将新队首的数添加到队尾
q.tail++;
q.head++; //再将队首出队
}
getchar();getchar();
return 0;
}
栈:解密回文
#include<stdio.h>
#include<string.h>