队列 FIFO
来源:互联网 发布:数据库保险箱 编辑:程序博客网 时间:2024/06/14 10:36
#include <iostream>using namespace std;typedef double T;class List{struct Node{T data;Node* next;Node(const T& t=T()):data(t){next = NULL;}};Node* head;public:List():head(NULL){}void clear(){while(head != NULL){Node* q = head->next;delete head;head = q;}}~List(){clear();}void insert_front(const T& t){Node* p = new Node(t);p->next= head;head = p;}void insert_back(const T& t){Node* p = new Node(t);if (head==NULL)head = p;else{get_pointer(size()-1)->next = p;}}void travel(){Node* p=head;while(p != NULL){cout << p->data << ' ';p = p->next; }cout << endl;}int size(){int cnt = 0;Node* p = head;while(p != NULL){cnt++;p = p->next;}return cnt;}T get_head(){if (head == NULL){throw "no head";}return head->data;}T get_tail(){if (head == NULL)throw "no tail";Node* p = head;while(p->next != NULL){p = p->next;}return p->data;}bool empty(){return head == NULL;}int find(const T& t){int pos = 0;Node* p = head;while(p != NULL){if (p->data== t)return pos;p = p->next;pos++;}return -1;}bool update(const T& o, const T& n){int pos = find(o);if (pos == -1)return false;Node* p = get_pointer(pos);p->data = n;return true;}private:Node* get_pointer(int pos){Node* p = head;for (int i=0; i<pos; i++)p = p->next;return p;}public:bool erase(const T& t){int pos = find(t);if (pos == -1)return false;if (pos ==0){Node* q = head->next;delete head;head = q;}else{Node* pre = get_pointer(pos-1);Node *cur = pre->next;pre->next= cur->next;delete cur;}}};class Queue{List l;public:void push(const T& t) //数据入队列 {l.insert_back(t);}void pop() //删除队首元素 {l.erase(l.get_head());}T front() //取得队列首元素{return l.get_head();} T back()//取得队列尾元素{return l.get_tail();} bool empty() //判断队列是否为空 {return l.empty();} int size()//取得队列中的元素个数{return l.size();} void clear()//清空整个队列{l.clear();} };int main(){Queue q;q.push(1.0);q.push(2.0);q.push(3.0);q.push(4.0);q.push(5.5);cout.setf(ios::showpoint); //格式化输出,带小数部分 while(!q.empty()){cout << q.front() << ' ';q.pop();}cout << endl;return 0;}
阅读全文
0 0
- 队列 FIFO
- java算法:FIFO队列
- STL队列-FIFO
- 环形队列FIFO
- 数据结构----FIFO队列
- python实现队列 FIFO
- 队列( FIFO ) 循环队列
- FIFO队列和优先队列
- 内核循环队列实现fifo
- 先进先出队列 FIFO
- 环形队列FIFO实现方法
- 队列的实现(FIFO、链表)
- ZooKeeper实现分布式FIFO队列
- ZooKeeper实现分布式FIFO队列
- ZooKeeper实现分布式FIFO队列
- 【数据结构】【C++STL】FIFO队列&优先队列
- 贴两段代码,操纵变长数组/FIFO队列.
- 管道/FIFO/共享内存/消息队列/信号
- Unity破解
- C++继承,虚函数
- 【机器学习实战】制作五子棋AI之三:基本规则的建立【1】
- ::net content-length mismatch
- java函数传递对象
- 队列 FIFO
- python pyh html解决中文中文乱码的方法
- Markdown语法帮助
- 根据对象某一属性进行排序
- spring常用注解
- 初学python之快速入门(一)
- Qt入门-layout布局
- linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
- C#复杂对象序列化,推荐二进制