队列的实现C++
2013-03-30 21:06
375 查看
头文件的实现
操作的实现
主函数文件(参考)
执行结果如图
/**queue.h文件**/ #include<cstdio> #include<iostream> #include<cstdlib> using namespace std; #define error -1 #define queue_size 6 #define elem_type char typedef struct queue{ unsigned int length; unsigned int tail,head; elem_type elem[queue_size]; }queue; int init(queue &q); int enqueue(queue &q,elem_type e); int dequeue(queue &q,elem_type &e); int queue_empty(queue q); int queue_full(queue q); int print_queue(queue q);
操作的实现
/**queue_opera.cpp文件**/ #include"queue.h" /**队列初始化**/ int init(queue &q){ q.head=q.tail=1; q.length=0; return 1; } /**入队和出队**/ int enqueue(queue &q,elem_type e){ if(queue_full(q)) return 0; else { q.elem[q.tail]=e; q.tail+=1; if(q.tail==queue_size) q.tail=0; q.length+=1; return 1; } } int dequeue(queue &q,elem_type &e){ if(queue_empty(q)) return 0; e=q.elem[q.head]; q.head+=1; if(q.head==queue_size) q.head=0; q.length-=1; return 1; } /**下溢和上溢**/ int queue_empty(queue q){ if(q.tail==q.head ) return 1; else return 0; } int queue_full(queue q){ if(q.head==q.tail+1) return 1; else return 0; } int print_queue(queue q){ while(q.head!=q.tail){ cout<<q.elem[q.head]<<' '; q.head+=1; if(q.head==queue_size) q.head=0; } cout<<"\nall over"<<endl; return 1; }
主函数文件(参考)
/**queuemain.cpp文件**/ #include"queue.h" int main(){ queue q; elem_type e; init(q); enqueue(q,'a'); enqueue(q,'b'); enqueue(q,'c'); enqueue(q,'d'); enqueue(q,'e'); enqueue(q,'f'); dequeue(q,e); dequeue(q,e); enqueue(q,'a'); enqueue(q,'b'); enqueue(q,'c'); enqueue(q,'d'); enqueue(q,'e'); enqueue(q,'f'); dequeue(q,e); dequeue(q,e); enqueue(q,'d'); enqueue(q,'e'); enqueue(q,'f'); enqueue(q,'g'); dequeue(q,e); print_queue(q); return 1; }
执行结果如图
相关文章推荐
- c++消息队列的实现
- 几种简单的数据结构的C++实现,树,图,链表,环形队列,栈等---环形队列篇
- c++ 类模板 用栈实现队列
- 程序员面试题精选(48):两个堆栈模拟队列c++代码实现
- C++两个队列实现一个栈
- c++ queue 顺序队列的实现
- 数据结构-队列:循环队列与链队列的C++模板类实现
- [C++ 实现最大值优先队列和最小值优先队列]
- c++实现的循环队列和栈
- 队列(c++实现)
- C++实现队列
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- [c/c++]使用宏函数实现的无锁队列
- 链表实现队列 C++实现
- C++ 无锁队列实现
- c++版队列实现
- 队列c++实现
- C++中采用链表实现队列
- c++数据结构 链队列的实现
- C/C++ 数据结构之 队列的实现!