algorithmvotingvoting-system

Plurality voting with priorities for tie-breaking algorithm implementation


I am trying to implement a plurality voting algorithm where priorities are used to break ties. What I mean by priorities is the following. For example, we have three classes - A, B and C. But the priority goes A, C and B, starting with the highest - A to the lowest - B. So when A and C have equal votes and more than B, A will win the plurality vote because of its higher priority.

The only idea I have for the tie-breaking is to implement many if-statements. If I am not wrong, these are 10 for the case of 3 classes. But how can this be generalized so that I can implement an algorithm for K-classes? Can you please help with some code? It could be some imperative language like C, Java, JS, C#, Python, etc or pseudo-code.

Thank you very much!


Solution

  • You can sort based on number of votes first. Then iterate through the sorted list, and for those entries with equal number of votes, sort again, this time using priority.