java数据结构 队列解决 舞会问题
import java.util.Iterator;
import java.util.Queue;
public class DancersProblem {
public static void solve(int times,Queue<String> men,Queue<String> women) {
if (!men.isEmpty() && !women.isEmpty() && times > 0) {
int count = 1;
int scale = men.size() >= women.size() ? women.size() : men.size();
Queue<String> handle = men.size() >= women.size() ? men : women;
while(count <= times) {
System.out.println("第"+count+"轮:");
for (int i = 0; i < scale; i++) {
String man = men.peek();
String woman = women.peek();
men.add(men.poll());
women.add(women.poll());
System.out.print(man+"-匹配-"+woman+" ");
}
System.out.println();
Iterator<String> item = handle.iterator();
int remain = 1;
while(item.hasNext() && remain <= handle.size()-scale) {
String remainPeo = item.next();
System.out.print(remainPeo+" ");
remain++;
}
System.out.print("请等待下一轮");
System.out.println();
count++;
}
System.out.println();
}else {
System.out.println("不符合规则");
}
}
}