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