2016-01-16 25 views
0

我想實現多個投票算法,其中優先級被用來打破關係。我的意思是重點是以下幾點。例如,我們有三個類--A,B和C.但優先級爲A,C和B,從最高的A開始到最低的B。因此,當A和C具有相同的投票和超過B時,A將因其較高的優先權而贏得多票。打破打破算法實施的優先級的多元投票

我打破平局的唯一想法是實現許多if語句。如果我沒有錯,對於三個班的情況,這些是10。但是,這怎麼可以推廣,以便我可以實現K類的算法?你可以請一些代碼幫忙嗎?它可能是一些命令式語言,如C,Java,JS,C#,Python等或僞代碼。

非常感謝!

+1

而不是通過遍歷所有候選人和檢查'如果vote [i]> vote [max]'找到勝利者,你會使用'如果vote [i]> vote [max]或(vote [i ] = vote [max]和priority [i]> priority [max])'。 – m69

回答

1

您可以先根據票數進行排序。然後遍歷排序的列表,對於具有相同票數的條目,再次排序,這次使用優先級。