c++实现队列操作(建对、入队、出对)
2010-06-25 15:20
281 查看
template<class T> class Node/*定义节点的头文件,文件名为:b.h */ { public: int data; Node<T> *next; Node() { this->next=NULL; } Node(int data,Node<T> *next=NULL) { this->data=data; this->next=next; } }; #include<iostream.h> #include "b.h" template<class T>/*主程序,queue.cpp*/ class Queue { private: Node<T> *front,*rear; public: Queue(); ~Queue(); bool isEmpty(); void append(int x); int get(); }; template<class T> Queue<T>::Queue() { front=rear=NULL; } template<class T> Queue<T>::~Queue() { Node<T> *p=front,*q; while(p!=NULL) { q=p; p=p->next; delete q; } front=rear=NULL; } template<class T> bool Queue<T>::isEmpty() { return front==NULL&&rear==NULL; } template<class T> void Queue<T>::append(int x) { Node<T> *q=new Node<T>(x); if(isEmpty()) front=q; else rear->next=q; rear=q; } template<class T> int Queue<T>::get() { if(!isEmpty()) { int x=front->data; Node<T> *p=front; front=front->next; delete p; if(front==NULL) rear=NULL; return x; } throw "空队列!"; } int main() { Queue<int> Q; int x,y,n,i; cout<<"请输入队列长度:"<<endl; cin>>n; cout<<"请输入各元素的值:"<<endl; for(i=0;i<n;i++) { cin>>x; Q.append(x); } cout<<"对头元素是:"<<endl; y=Q.get(); cout<<y; return 0; }
相关文章推荐
- C++实现普通队列,循环队列的基本操作(初始化,入队,出队,获取队列首元素等)
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 循环队列的定义、入队、出队等操作 C++代码实现
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 子函数实现链式队列 的 操作,创建、入队、出队、退出。
- c++实现静态循环队列的各种操作
- 利用顺序存储结构实现双端队列的入队和出队操作
- 编程实现队列入队出队操作
- c++ 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 编程实现队列的入队/出队操作
- 编程实现队列的入队/出队操作