首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

算法导论第十章-行列的实现

2012-08-09 
算法导论第十章--队列的实现queue.h#includeiostreamusing namespace std#define Max 20class queue{pr

算法导论第十章--队列的实现

queue.h

#include<iostream>using namespace std;#define Max 20class queue{private:int length;int *head;int *tail;int Node[Max];public:queue():length(0){//head=new int;//tail=new int;}~queue(){//delete head;//delete tail;}bool Enqueue(int x){if(length>=Max){cout<<"the queue is full!"<<endl;return 0;}Node[length]=x;if(length==0){//注意这个地方不要写错,如果写成*tail=Node[length]是不可以的,因为tail为空tail=&Node[length];head=&Node[length];}elsetail=&Node[length];length++;return 1;}bool Dequeue(){if(length==0){cout<<"the queue  is empty!"<<endl;return 0;}int i;for(i=0;i<length-1;i++){Node[i]=Node[i+1];}length--;*head=Node[0];*tail=Node[length-1];return 1;}bool IsFull(){if(length==Max){return 1;}return 0;}bool IsEmpty(){if(length==0){return 1;}return 0;}void Print(){for(int i=0;i<length;i++){cout<<Node[i]<<" ";}cout<<endl;}};


 

main.cpp

#include"queue.h"int main(){queue q;int i;for(i=0;i<10;i++){q.Enqueue(i*2);}q.Print();cout<<endl;for(i=0;i<10;i++){q.Dequeue();}q.Print();return 0;}


 

热点排行