#include<iostream>
using namespace std;
#define maxsize 3 //有用?
typedef struct
{
int data[maxsize]; //注意 int* data;
int front;
int rear;
}squeue;
void init(squeue& q)
{
q.front = 0;
q.rear = 0;
}
int enqueue(squeue& q, int e)
{
if (q.front == q.rear % maxsize)//队满标志 (rear+1)%MAXQSIZE==front
return 0;
q.data[q.rear] = e;
q.rear = (q.rear + 1) % maxsize;
return 1;
}
int dequeue(squeue& q, int& e)
{
if (q.rear == q.front)
return 0;
e = q.data[q.front];
q.front = q.front + 1 % maxsize;
return 1;
}
int length(squeue q) //求不了长度 待解决
{
return (q.rear - q.front + maxsize) % maxsize;
}
int GetHead(squeue Q) //待解决
{
if (Q.front != Q.rear) //队列不为空
return Q.data[Q.front]; //返回队头指针元素的值,队头指针不变
}
int main()
{
squeue haha;
init(haha);
int n;
int e;
cout<<"::"; cin >> n;
for (int i = 0; i < n; i++)
{
cin >> e;
enqueue(haha,e);
dequeue(haha, e);
cout << e << " ";
}
cout << length(haha);
}
循环队列//输入输出
猜你喜欢
转载自blog.csdn.net/weixin_44811068/article/details/102985839
今日推荐
周排行