普通队列运用
数组装数据,用两个int来模拟头尾指针
#include<iostream>
using namespace std;
int main()
{
int q[100] = { 0, 6, 3, 1, 7, 5, 8, 9, 2, 4 },head=0,tail=9;
//模拟并初始化队列
while (head < tail)
{
cout<<q[head];
head++;
q[tail] = q[head];
tail++; head++;
}
return 0;
}
可以试试结构体封装一下
#include<iostream>
using namespace std;
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++)
{
cin>>q.data[q.tail];
q.tail++;
}
//遍历输出
while (q.head < q.tail)
{
{
cout<<q.data[q.head];
q.head++;
q.data[q.tail] = q.data[q.head];
q.tail++;
q.head++;
}
return 0;
}
使用头尾指针
==指针不熟练,有时间再补充