队列的C/C++实现逻辑比较简单,用单链表实现队列的创建、入队、出队和判断队列是否为空操作,这里直接贴代码了。
/* 完整代码 */
#include <iostream>
using namespace std;
typedef struct queue {
int val;
struct queue* next;
}Queue;
void Init(Queue* ptr, int n) { //初始化队列
while (n --) {
Queue* temp = (Queue *)malloc(sizeof(Queue));
cin >> temp->val;
temp->next = NULL;
ptr->next = temp;
ptr = temp;
}
}
bool QueueEmpty(Queue* ptr) { //判断队列是否为空
if (ptr->next == NULL)
return true;
else
return false;
}
void Push(Queue* ptr, int item) { //入队
Queue* temp = (Queue *)malloc(sizeof(Queue));
temp->val = item;
temp->next = NULL;
while (ptr->next) {
ptr = ptr->next;
}
ptr->next = temp;
}
void Pop(Queue* ptr) { //出队
if (QueueEmpty(ptr)) {
cout << "队列为空,