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