- 链式队列的实现
- 顺序队列的实现
- 循环队列的实现
队列是一种线性结构,具有先进先出的特点,以下是3种队列基本操作的C++代码:
//链式队列
#include<iostream>
#include<vector>
using namespace std;
vector<int> A;
class Node {
public:
int data;
Node *next;
};
class Linkqueue {
public:
void Initqueue(Linkqueue &Q);
void enNode(Linkqueue &Q);
void ouputNode(Linkqueue &Q);
void Isempty(Linkqueue &Q);
void delfirstNode(Linkqueue &Q);
void getlength(Linkqueue &Q);
void findNode(Linkqueue &Q,int value);
void destroyNode(Linkqueue &Q);
private:
Node *front;
Node *rear;
};
//初始化队列
void Linkqueue::Initqueue(Linkqueue &Q) {
Node *p = new Node;
p->next = NULL;
Q.front = p;
Q.rear = p;
}
//入队
void Linkqueue::enNode(Linkqueue &Q) {
Node *qnew = new Node;
qnew->next = NULL;
cout << "请输入需要插入节点的值=";
cin >> qnew->data;
Q.rear->next = qnew;
Q.rear = qnew;
}
//遍历队列
void Linkqueue::ouputNode(Linkqueue &Q) {
Node *p;
p = Q.front->next;
if (p == NULL) {
cout << "该队列为空队列" << endl;
}
else
cout << "该队列元素:";
while (p!=NULL) {
cout << p->data << " ";
p = p->next;
}
cout <<endl;
}
//队列判空</