排名次的函數
在不同的程式語言中,排名次的功能可以通過多種方式實現。以下是一些常見的程式語言中排名次函式的基本實現方式:
- Python
def rank(values):
# 使用字典來存儲每個值的排名
rankings = {}
for i, value in enumerate(values):
rankings[value] = i + 1
return rankings
# 示例使用
values = [2, 4, 5, 7, 9]
rankings = rank(values)
print(rankings) # 輸出: {2: 1, 4: 2, 5: 3, 7: 4, 9: 5}
- JavaScript (ES6)
function rank(values) {
// 使用Map來存儲每個值的排名
const rankings = new Map();
values.forEach((value, index) => {
rankings.set(value, index + 1);
});
return rankings;
}
// 示例使用
const values = [2, 4, 5, 7, 9];
const rankings = rank(values);
console.log(rankings); // 輸出: Map { 2: 1, 4: 2, 5: 3, 7: 4, 9: 5 }
- Java
public static Map<Integer, Integer> rank(int[] values) {
Map<Integer, Integer> rankings = new HashMap<>();
for (int i = 0; i < values.length; i++) {
rankings.put(values[i], i + 1);
}
return rankings;
}
// 示例使用
int[] values = {2, 4, 5, 7, 9};
Map<Integer, Integer> rankings = rank(values);
System.out.println(rankings); // 輸出: {2=1, 4=2, 5=3, 7=4, 9=5}
- C#
public static Dictionary<int, int> Rank(int[] values)
{
Dictionary<int, int> rankings = new Dictionary<int, int>();
for (int i = 0; i < values.Length; i++)
{
rankings[values[i]] = i + 1;
}
return rankings;
}
// 示例使用
int[] values = { 2, 4, 5, 7, 9 };
Dictionary<int, int> rankings = Rank(values);
Console.WriteLine(rankings); // 輸出: {2: 1, 4: 2, 5: 3, 7: 4, 9: 5}
這些函式的基本思想是遍歷給定的值列表,並為每個值分配一個排名(即它在列表中的位置加上1)。然後,返回一個映射或字典,其中鍵是值,值是它們的排名。
請注意,這些函式假設值是唯一的。如果列表中存在重複的值,它們將只返回第一個出現的值的排名。如果你需要處理重複值,你可能需要提供一個額外的策略來確定排名。