队列解决队员分配问题
2012-12-05 19:20
274 查看
/*老师的要求是用队列 1.把人的资料输入数组中包括性别 姓名 2读取资料3性别为男的 一对为女的一队 没队分别拿出一个成员为舞伴知道其中一个成员没有成员了 剩下的那个 队里 把剩下的成员资料输出 以及剩下的人数*/ //1男,2女 #include<string> #include<iostream> #include<iomanip> using namespace std; typedef struct MALEode { string name; struct MALEode *next; }MALE,FEMALE,OUT,*QP; typedef struct { QP head; QP tail; }LQ; //男队列初始化 LQ Minitq() { LQ M; M.head=M.tail=new MALE; if(!M.head) //开辟空间失败 exit(0); M.head->next=NULL; return M; } //男入队 LQ Menq(LQ M,string e) { MALE *p; p=new MALE; if(!p) exit(0); p->name =e; p->next=NULL; M.tail->next=p; M.tail=p; return M; } //女队列初始化 LQ FMinitq() { LQ FM; FM.head=FM.tail=new FEMALE; if(!FM.head) //开辟空间失败 exit(0); FM.head->next=NULL; return FM; } //女入队 LQ FMenq(LQ FM,string e) { MALE *p; p=new MALE; if(!p) exit(0); p->name =e; p->next=NULL; FM.tail->next=p; FM.tail=p; return FM; } //输出队列 void print(LQ M,LQ FM,int k) { OUT *ph1,*ph2; int j=0; ph1=M.head->next; ph2=FM.head->next; for(int i=1;i<=k;i++) { cout<<ph1->name<<"的搭配队友为:"<<ph2->name ; cout<<endl; ph1=ph1->next; ph2=ph2->next; } cout<<"没有搭档的队员表单:"<<endl; while(ph2!=FM.tail->next) { j++; cout<<ph2->name<<endl ; ph2=ph2->next; }; cout<<"共剩下"<<j<<"人"<<endl; } //统计男女个数 int num(LQ xb) { OUT *ph; int i=0; ph=xb.head->next; while(ph!=xb.tail->next) { i++; ph=ph->next; } return i; } void main() { LQ male,female; string name; int xb=1,i,j; cout<<"请输入男女队员姓名(在姓名前加1仪表男,2仪表女)当姓别为0时结束"<<endl; male=Minitq(); female=FMinitq(); cin>>xb>>name; do //根据输入的1,2来选择入的队列 { if(xb==1) male=Menq(male,name); else female=FMenq(female,name); cin>>xb>>name; }while(xb!=0); i=num(male); j=num(female); if(i<j) print(male,female,i); else print(female,male,j); }
相关文章推荐
- Win7安装Ubuntu16.04双系统时候不显示分配出来的空闲空间或者显示不可用问题解决办法
- 指针在子函数中动态分配空间的问题及解决方法
- python中使用双端队列解决回文问题
- RabbitMQ使用不当导致的队列堵塞问题及解决之道
- Android TabLayout 在宽屏幕上tab不能平均分配的问题解决
- RabbitMQ(消息队列)Linux安装相关问题解决
- 从MTK的scat文件谈ROM和RAM的分配,管理和问题解决
- 解决msmq接收远程主机私有队列消息的问题!
- 用“双优先队列”方法解决双/多指标的规划问题
- 用队列和栈解决球钟问题
- 最小优先队列 解决TopK问题
- C语言使用广度优先搜索算法解决迷宫问题(队列)
- 从MTK的scat文件谈ROM和RAM的分配,管理和问题解决
- java中使用阻塞队列解决生产者消费者问题
- 解决Lunix下的大内存分配运行失败问题---未解决
- PHP结合memcacheq消息队列解决并发问题
- 第四、五章解决队列和串的编程问题
- 优先队列PriorityQueue实现 大小根堆 解决top k 问题
- LabVIEW之安装队列工具包AMC安装问题解决
- 用队列解决农夫过河问题