数据结构——队列的C++实现
生活随笔
收集整理的這篇文章主要介紹了
数据结构——队列的C++实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據結構——隊列的C++實現
\qquad隊列的創建、判斷是否為空或者滿、入隊和出隊操作的C++實現。
#include<iostream> using namespace std;//1.定義 template<class T,int size> class Queue {public:Queue() { first = last = -1; }void AddQueue(T num);T DeleteQueue();bool IsFull();bool IsEmpty();int first, last;T data[size];};//2.入隊 template<class T,int size> void Queue<T, size>::AddQueue(T num) {if (!IsFull()) {if (last == size - 1 || last == -1) {data[0] = num;last = 0;if (first == -1) {first = 0;}}else {data[++last] = num;}}else {cout << "隊列滿!" << endl;} }//3.出隊 template<class T,int size> T Queue<T, size>::DeleteQueue() {T num;num = data[first];if (first == last) {last = first = -1;}else if (first == size - 1) {first = 0;}elsefirst++;return num; }//4.判斷隊列是否為滿 template<class T, int size> bool Queue<T, size>::IsFull() {return first == 0 && last == size - 1 || first == last + 1; }//5.判斷隊列是否為空 template<class T, int size> bool Queue<T, size>::IsEmpty() {return first == -1; }int main() {Queue<double, 100> Q;int i;double num;for (i = 0; i < 10; i++) {Q.AddQueue(i);}for (i = 0; i < 5; i++) {num = Q.DeleteQueue();cout << num << endl;}cout << Q.first << " " << Q.last << endl; }總結
以上是生活随笔為你收集整理的数据结构——队列的C++实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构和算法——栈、队列、堆
- 下一篇: 数据结构——单链表的C++实现