public class Sort
{
public static int[] sort(int[] a)
{
int index;
int temp;
for(int i=0;i<a.length;i++)
{
index=i;
for(int j=i+1;j<a.length;j++)
{
if(a[j]<=a[i])
{
index=j;
a[i]=a[index];
}
}
temp=a[i];
a[i]=a[index];//取得该循环中最小值的下标
a[index]=temp;
}
return a;
}
public static void main(String[] args)
{
int[] a={1,4,2,1,67,32,4};
sort(a);
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
}
}我觉得这代码不会有问题啊,但输出的结果就是不正常

解决方案 »

  1.   

    我没看你的代码!
    或许你是想研究算法吧,要不然的话打开api帮助文档,用java为你造好的车轮(Arrays.sort())。
      

  2.   

    a[i]=a[index];这一句删去就可以了
    不然你已经把a[i]破坏了,后面在怎么交换?
      

  3.   

    public class Sort
    {

    public static int[] sort(int[] a)
    {
    int temp=0;
    for(int i=0;i<a.length;i++)
    {
    for(int j=i+1;j<a.length;j++)
    {
    if(a[i]>a[j])
    {
    temp=a[i];
    a[i]=a[j];
    a[j]=temp;
    }
    }
    }
    return a;
    }

    public static void main(String[] args)
    {
    int[] a={1,4,2,1,67,32,4};
    sort(a);
    for(int i=0;i<a.length;i++)
    System.out.println(a[i]);
    }
    }我的  您那个我没看懂