循环赛日程安排问题
设有16个运动员将进行网球循环赛。现要设计一个满足以下要求的比赛日程表:⑴ 每个选手必须与其它15个选手各赛一场,⑵ 每个选手一天只能赛一场,⑶ 循环赛进行15天。
算法实现:
package practice;
import java.util.LinkedList;
/**
* 循环赛日程安排问题。
* 设有16个运动员将进行网球循环赛。现要设计一个满足以下要求的比赛日程表:
* ⑴ 每个选手必须与其它15个选手各赛一场,
* ⑵ 每个选手一天只能赛一场,
* ⑶ 循环赛进行15天。
* @author 光
*
*/
public class Demo {
private int num; // 人数
private LinkedList<Integer> list = new LinkedList<Integer>();
public Demo(int n) {
this.num = n;
init();
}
private void init() {
if (num % 2 == 0) { //偶数个
for (int i = 0; i < num; i++) {
list.add(i + 1);
}
}
else //奇数个
{