1
如果我有一個int[3]
陣列像這樣:c將整型數組排序
score_list[3] = [ 1, 2, 0]
當陣列中的每個位置對應於一個特定的文件編號:
score_list[0] = D1
score_list[1] = D2
score_list[2] = D3
什麼將是最簡單的方法按降序對數組進行排序,跟蹤每個移動的位置int
其中(排序後):
score_list[3] = [ 2, 1, 0]
而且
score_list[0] = D2
score_list[1] = D1
score_list[2] = D3
我只需要按降序排列打印,實際上沒有重新排列int數組,因此:
for (int i=0; i<3; i++)
{
if (score_list[0] > score_list[1] && score_list[2])
printf("D%d-%d",i, score_list[0]);
if (score_list[1] > score_list[0] && score_list[2])
printf("D%d-%d", i, score_list[1]);
if (score_list[2] > score_list[0] && score_list[1])
printf("D%d-%d", i, score_list[2]);
}
會先打印次數最多的話,我會比較最後2,我只是覺得這需要太長時間,並且必須有更高效的方式
請描述你嘗試過什麼。 – davidc 2014-11-23 23:29:14
我不明白你在數組中存儲什麼?值或字符串?或者兩者如何相關? – 2014-11-23 23:30:38
這是一個int數組,根據 – davidc 2014-11-23 23:33:14