c++队列

来源:互联网 发布:逆战淘宝 编辑:程序博客网 时间:2024/05/20 02:56

首先要加入头文件slist.h
http://blog.csdn.net/qq_16192007/article/details/51504732
通过单链表实现队列

queue.h

#ifndef _QUEUE_H_INCLUDED#define _QUEUE_H_INCLUDED#include "slist.h"template<typename T>class Queue {public:    Queue() : hb_slist() {}    ~Queue() {}    bool empty() const { return hb_slist.empty(); }    void clear() { hb_slist.clear(); }    int size() const { return hb_slist.size(); }    void en_queue(const T& elem) { hb_slist.push_back(elem); }//加入队列    T de_queue() { return hb_slist.pop_front(); }//退出队列,先进先出。    T front() const { return hb_slist.value(1); }//查看头元素    T back() const { return hb_slist.value(hb_slist.size()); }//查看尾元素。private:    Slist<T> hb_slist;};#endif

test.cpp

// queue.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include "queue.h"int main(){    Queue<int> queue;    queue.en_queue(3);    queue.en_queue(6);    queue.en_queue(11);    queue.de_queue();    int num = queue.size();    for (int i = 0; i != num; ++i)        std::cout << queue.de_queue() << '-';    std::cout << std::endl;    return 0;}
0 0
原创粉丝点击