队列
来源:互联网 发布:java ssh 书籍 编辑:程序博客网 时间:2024/05/17 03:50
循环队列
//Queue.htemplate<typename T,int Size=10>class Queue{public: Queue(); void push(const T &); void pop(); void empty(); void full(); T & front(); T & rear(); int length();private: T _arr[Size]; int _front; int _rear;};
//Queue.cctemplate<typename T,int Size>Queue<T,Size>::Queue():_arr(new T[Size]),_front(0),_rear(0){}template<typename T,int Size>void Queue<T,Size>::push(const T & elem){ if(full()) { cout << "full stack" << endl; return; } _arr[_rear++] = elem; _rear %= Size;}template<typename T,int Size>void Queue<T,Size>::pop(){ if(empty()) { cout << "empty stack" << endl; return; } ++_front; _front %= Size;}template<typename T,int Size>bool Queue<T,Size>::empty(){ return _rear == _front;}template<typename T,int Size>bool Queue<T,Size>::full(){ return (_rear+1) % Size = _front;}template<typename T,int Size>int Queue<T,Size>::length(){ return (_rear-_front+Size)%Size}template<typename T,int Size>T & front(){ return _arr[_front];}template<typename T,int Size>T & rear(){ return _arr[_rear];}
链队列
//Queue.htypedef struct Queue{ int data; struct Queue *pnext;}Queue,*QueuePtr;class Queue{public: Queue(); void enQueue(const int &); void deQueue(); bool empty();private: QueuePtr _pfront; QueuePtr _prear;};
//Queue.ccQueue::Queue():_front(NULL),_rear(NULL){}void Queue::enQueue(const int data){ QueuePtr p = (QueuePtr)malloc(sizeof(Queue)); p->data = data; p->pnext = NULL; if(!_pfront) _pfront = p; _prear->pnext = p; _prear = p;}void Queue::deQueue(){ QueuePtr p = _pfront; free(_pfront); _pfront = p->pnext;}
队列应用:层次遍历、计算机系统
阅读全文
0 0
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 爬取“好孩子”app的所有绘本、以及配套文件、音频(纯属自己娱乐)
- QTP 自动化测试 之 按住CTRL键click
- v-html 和{{}}区别
- docker学习(3)- 镜像
- 可能是最好的函数式编程入门
- 队列
- mybatis foreach 语句循环读取map数据
- UE4小地图制作 (使用蓝图制作小地图)
- iOS远程真机之usbmuxd中iproxy的作用
- Eigen: C++开源矩阵计算工具——安装与使用
- appium(java)——滑动1:页面滑动以及封装
- easystruts-1.0.3重大更新
- 最大熵学习笔记(四)模型求解
- Android设计模式之代理模式 Proxy