在c中按升序对一个数组进行排序

在c中按升序对一个数组进行排序,c,arrays,C,Arrays,我想按升序对一个数组进行排序,但应该检查其他数组的值 例如: 我有两个数组diff[]和arr[] 我想根据diff[]值对arr[]进行排序 可能吗 我修改了简单的排序算法。但这不起作用 代码: (i=0;i

我想按升序对一个数组进行排序,但应该检查其他数组的值

例如: 我有两个数组diff[]和arr[]
我想根据diff[]值对arr[]进行排序
可能吗

我修改了简单的排序算法。但这不起作用

代码:

(i=0;i { 对于(j=i+1;jdiff[j]) { a=arr[i]; arr[i]=arr[j]; arr[j]=a; } } }
根据您提供的示例:-

arr[]={ 17,14,14,12,11,11,9,5,4,2}
diff[]={ 12,9,9,7,6,6,4,0,1,3} 
sorted arr[]={,5 ,4 ,2 ,9 ,11......}
算法:-

use可以通过一些修改使用选择排序。
1.在差异[]中查找第一个最小值的索引。
---(差异[7]=0,因此指数=7)
2.将arr[]与arr[i]和arr[index_of_minimum]交换。(最初i=0)
---(交换arr[0]和arr[7])因此,新的arr[]={5,14,14,12,11,11,9,17,4,2}
3.1元素按i++排序。
4.在diff[]中找到第二个最小值的索引,并重复,直到diff[]的大小


@但是如何根据其他数组值对一个数组进行排序?提供一些示例“基于其他数组”是什么意思?
arr
diff
中的值之间的关系是什么?也就是说,
diff
中值的比较结果如何确定
arr
中值的顺序?可能会给出一个输入数组值和输出
arr
值的示例。对此可能有多种解释。只需给出一个示例输入和所需输出
arr[]={ 17,14,14,12,11,11,9,5,4,2}
diff[]={ 12,9,9,7,6,6,4,0,1,3} 
sorted arr[]={,5 ,4 ,2 ,9 ,11......}