C++利用模板实现一个队列
来源:互联网 发布:aj淘宝官方旗舰店 编辑:程序博客网 时间:2024/06/02 06:09
开头总结:.利用模板类实现了一个队列,利用模板的好处是提供泛型编程,在存储数据的时候会适应不同类型的数据,减少了代码的书写,简化了程序的结构。
#include <iostream>using namespace std;//模板类template <typename T,int num>class Queue{private: T arr[num]; int front; int rear;public: Queue() //构造函数 { front=0; rear=0; } bool isEmpty();//判断队列是否为空 bool isFull();//判断队列是否为满 bool push(const T &);//进队列 bool pop(T &);//出队列 这里的参数一定是引用 因为要改变其本身};template <typename T,int num>bool Queue<T,num>::isEmpty(){ return front==rear;}template<typename T,int num>bool Queue<T,num>::isFull(){ return front==num;}template<typename T,int num> //进队列 判断队列是否满bool Queue<T,num>::push(const T &a){ if(isFull()) { cout<<"队列已满"<<endl; return false; } else { arr[front]=a; ++front; } return true;}template<typename T,int num>bool Queue<T,num>::pop(T &b){ if(isEmpty()) { cout<<"队列空了"<<endl; return false; } else { b=arr[rear]; ++rear; } return true;}int main(){ Queue<int,7> q; //开7个空间 cout<<"刚开始队列空吗? "<<q.isEmpty()<<endl; q.push(6); q.push(10); cout<<"现在还是队列空吗? "<<q.isFull()<<endl; int b1,b2; q.pop(b1); q.pop(b2); cout<<"队列中第一个删除的元素为: "<<b1<<endl; cout<<"队列中第二个删除的元素为: "<<b2<<endl;}
0 0
- C++利用模板实现一个队列
- C++利用链表模板类实现一个简易队列
- C++利用模板实现队列
- 利用栈实现队列(C语言实现)
- C++ 模板应用 实现一个Queue 队列
- c语言一个队列实现
- C语言实现一个队列
- 【C++】模板实现双链表和队列
- 利用两个栈实现一个队列
- 利用两个栈实现一个队列
- 利用两个队列实现一个栈
- Python利用heapq实现一个优先级队列
- 利用数组实现双端队列(C++)
- C++:利用两个栈实现队列操作
- 两个栈实现一个队列(C/C++)
- [C++] 利用模板的模板参数实现单链表
- C语言一个队列的实现
- C语言一个队列的实现
- 转 java中弱引用
- HMM——维特比算法(Viterbi algorithm)
- 这里选择VS 2010作为dll的开发工具
- OpenCV 使用FaceRecognizer类来进行人脸识别
- Hadoop问题,求解
- C++利用模板实现一个队列
- JAVA基础学习--一个线程加一运算,一个线程做减一运算,多个线程同时交替运行--synchronized
- 例题:[codevs1073/tyvj1251]家族 并查集 学习笔记
- 项目管理中使用禅道
- 2015.9.19 第十三堂 NSSArray
- 高性能的大型系统经验 -- 数据查询与分页
- 关于Linux/kernel.h中的offsetof和container_of宏
- java中基本数据类型和引用数据类型的区别?
- Android中常见Intent习惯用法-上篇(附源码下载)