#include <iostream>
using namespace std;
# define MAXSIZE 10
typedef struct SqQueue {
int* base;
int front, tail;
}sque;
//初始化队列
bool initQueue(sque& s) {
s.base = new int[MAXSIZE];
if (s.base == NULL) {
return false;
}
s.front = s.tail = 0;
return true;
}
//入队
bool push(sque& s, int e) {
if ((s.tail + 1) % MAXSIZE == s.front) {
cout << "栈满" << endl;
return false;
}
s.base[s.tail] = e;
s.tail = (s.tail + 1) % MAXSIZE;
return true;
}
//出队
bool pop(sque& s, int& e) {
if (s.front == s.tail) {
cout << "栈空" << endl;
return false;
}
e = s.base[s.front];
s.front = (s.front + 1) % MAXSIZE;
return true;
}
//获取队列头元素
int get_Top(sque& s) {
if (s.front == s.tail) {
cout << "队空" << endl;
return -1;
}
return s.base[s.front];
}
04-栈和队列-循环队列的基本使用
于 2022-10-24 07:02:12 首次发布