我試圖以特定方式對組合列表進行排序。 考慮數字1-6作爲一個團隊,如果每個球隊都能對對方球隊的時間玩,我們得到這個名單作爲可能的匹配:排序所有可能的組合
12 23 34 45 56
13 24 35 46
14 25 36
15 26
16
所以我現在想要的是像「比賽日」:
12 13 14 15 16
34 46 26 24 23
56 25 35 36 45
正如你可以在每個塊之後看到每隊有一場比賽,兩場比賽,...
我could'n得到一個算法來排序列表這從:
12 13 14 15 16 23 24 25 26 34 35 36 45 46 56
到
12 34 56 13 46 25 14 26 35 15 24 36 16 23 45
附加:
12 23 34 45
13 24 35
14 25
15
12 23 14 24 25
34 45 35 15 13
在: 奇數團隊數字,創造比賽日的方式,因爲你必須在球隊離開了一天變得更糟第一塊5不在第二塊1中玩ist不玩...
感謝您對t他在c#中的問題與.NET 4可能使用Linq來操縱列表。
SOLUTION:
循環賽
http://en.wikipedia.org/wiki/Round-robin_tournament
Round Robin Tournament algorithm in C#
我還沒有深入地讀過你的問題,但是你能否讓它更清楚一點,你可以更清楚地知道你所建議的許多不同的輸出和格式化方法中的哪一個是你想要的? – 2010-07-28 09:01:18
它不是關於輸出,數字只是爲了解釋。 – Gpx 2010-07-28 09:36:40
對於任何想要Google的人來說,這就是所謂的循環賽。 – 2010-07-28 12:22:09