C++实现链队列
#include <iostream>
using namespace std;
#define MAXSIZE 100
typedef int ElemType;typedef struct QNode {//節(jié)點的創(chuàng)建ElemType data;struct QNode *next;
} QNode, *QueuePtr;typedef struct {//隊列的創(chuàng)建QueuePtr front;QueuePtr rear;
} LinkQueue;bool InitQueue(LinkQueue &Q) {//隊列的初始化Q.front = Q.rear = new QNode;if (!Q.front) {cout << "開辟空間失敗" << endl;return false;}Q.front->next = NULL;return true;
}bool DestroyQueue(LinkQueue &Q) {//摧毀隊列while (Q.front) {QNode *p;p = Q.front->next;free(Q.front);Q.front = p;}return true;
}bool Push(LinkQueue &Q, ElemType e) {//入隊QNode *p;p = new QNode;if (!p) {cout << "開辟空間失敗" << endl;return false;}p->data = e;p->next = NULL;Q.rear->next = p;Q.rear = p;return true;
}bool Pop(LinkQueue &Q, ElemType &e) {//出隊if (Q.front == Q.rear)return false;QNode *p;p = new QNode;if (!p) {cout << "開辟空間失敗" << endl;return false;}p = Q.front->next;e = p->data;Q.front->next = p->next;if (Q.rear == p)Q.rear = Q.front;delete p;return true;
}bool GetTop(LinkQueue Q, ElemType &e) {//取隊頭if (Q.front == Q.rear)return false;e = Q.front->next->data;return true;
}
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結(jié)
- 上一篇: C++实现循环队列
- 下一篇: C++实现链式存储二叉树