#include<iostream>
using namespace std;
const int MaxSize = 5;
typedef struct Node {
int data[MaxSize];
int top;//头指针
int rear;//尾指针
}Queue;
void initQueue(Queue&);
bool pushQueue(Queue&);
bool popQueue(Queue&);
bool printQueue(Queue&);
int main()
{
Queue q;
initQueue(q);
pushQueue(q);
printQueue(q);
popQueue(q);
printQueue(q);
return 0;
}
bool popQueue(Queue& q) {
if (q.top == q.rear) {
printf("队列为空!");
return false;
}
int num;
printf("请输出需要出队列的元素个数:");
scanf_s("%d", &num);
while (num--) {
q.top++;
}
return true;
}
bool printQueue(Queue& q) {
if (q.rear == -1) {
printf("队列为空!");
return false;
}
for (int i = q.top + 1 ; i <= q.rear; i++) {
printf("输出结点数据:%d\n", q.data[i]);
}
return true;
}
bool pushQueue(Queue& q) {
if (q.rear == MaxSize) {
printf("队列满了!");
return false;
}
int elem;
while (q.rear <MaxSize - 1) {
printf("请输入要入栈的元素数据:");
scanf_s("%d", &elem);
q.data[++q.rear] = elem;
}
return true;
}
void initQueue(Queue& q) {
q.top = q.rear = -1;
}
队列的顺序实现C++
最新推荐文章于 2022-11-11 19:49:00 发布