数据结构——队列的C++实现
生活随笔
收集整理的這篇文章主要介紹了
数据结构——队列的C++实现
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
數(shù)據(jù)結(jié)構(gòu)——隊(duì)列的C++實(shí)現(xiàn)
\qquad隊(duì)列的創(chuàng)建、判斷是否為空或者滿、入隊(duì)和出隊(duì)操作的C++實(shí)現(xiàn)。
#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.入隊(duì) 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 << "隊(duì)列滿!" << endl;} }//3.出隊(duì) 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.判斷隊(duì)列是否為滿 template<class T, int size> bool Queue<T, size>::IsFull() {return first == 0 && last == size - 1 || first == last + 1; }//5.判斷隊(duì)列是否為空 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; }總結(jié)
以上是生活随笔為你收集整理的数据结构——队列的C++实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构和算法——栈、队列、堆
- 下一篇: 数据结构——单链表的C++实现