Arrays 将数组从最小到最大排序(不是气泡排序)

Arrays 将数组从最小到最大排序(不是气泡排序),arrays,sorting,Arrays,Sorting,我需要查看一个数组(ar[]),找到最小的值(minimable),将它转移到ar2[]的索引[0],并将ar[]的数字替换为1000,这样我就可以循环并连续地将其他最小的数字放入ar2[] 公共类排序 { 公共静态void main(字符串参数[]) { int ar[]={6,7,2,1,5,9,4,2,3}; int i,j; int ar2[]=新int[9]; 最终整数=1000; 对于(i=0;i

我需要查看一个
数组(ar[])
,找到最小的值(minimable),将它转移到
ar2[]
索引[0]
,并将
ar[]
的数字替换为1000,这样我就可以循环并连续地将其他最小的数字放入
ar2[]

公共类排序
{
公共静态void main(字符串参数[])
{
int ar[]={6,7,2,1,5,9,4,2,3};
int i,j;
int ar2[]=新int[9];
最终整数=1000;
对于(i=0;i对于(j=1;j这是对排序代码的修复:但这还不够好。它有O(n^2)复杂度,但其他算法有O(n*log2N)。请查看了解更多信息

for (i = 0; i < ar.length; i++) {
    int smallest = ar[i];
    int smallestIndex = i;
    for (j = 0; j < ar2.length; j++) {
        if (ar[j] < smallest) {
            smallest = ar[j];
            smallestIndex = j;
        }
    }
    ar2[i] = smallest;
    ar[smallestIndex] = ONE;
}
for(i=0;i
欢迎使用stackoverflow。如果您努力正确设置代码格式,您更有可能得到有用的答案。您还应该向我们解释代码的问题所在、当前输出是什么、应该输出什么以及到目前为止您试图解决的问题是什么?