2 u010604045 u010604045 于 2015.07.25 10:30 提问

JAVA中选择排序无法输出

代码如下:
public class SelectSort {
public static void ChoiceSort(int[] a)
{
int temp;
for(int i=0;i<a.length;i++){
int min=i;
for(int j=i+1;j<a.length;i++)
if(less (a[j],min))
min=j;

    }

}
public static boolean less(Comparable v,Comparable w)
{
    return  v.compareTo(w)<0;
}
public static void exch(Comparable[] a,int i,int j)
{
    Comparable t=a[i];
    a[i]=a[j];
    a[j]=t;
}
public static void main(String[] args)
{

    int[] a={5,6,8,2,3,4,7,9,11};
    ChoiceSort(a);
   System.out.println(a);
}

}

7个回答

strutce
strutce   Ds   Rxr 2015.07.25 10:58

for(int j=i+1;j<a.length;i++) 改成 for(int j=i+1;j<a.length;j++)

CSDNXIAON
CSDNXIAON   2015.07.25 10:40

java 选择排序
java选择排序
java_选择排序
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

tongyi55555
tongyi55555   2015.07.25 11:16

不知道你想干啥,你是要将数组重新排序么?

zsohr
zsohr   2015.07.25 13:29

"for(int j=i+1;j<a.length;i++)"中改为"for(int j=i+1;j<a.length;j++)"

liupan1114250779
liupan1114250779   2015.07.25 16:10

public class SelectSort {
public void ChoiceSort(int[] a)
{
int temp;
for(int i=0;i int min=a[i];
int k = i;
for(int j=i+1;j {
if(min>a[j]) {
min=a[j];
k=j;
}
}
int t;
if(a[i]!=min)
{
t=a[i];
a[i]=min;
a[k]=t;
}
}

}
public static void main(String[] args)
{
SelectSort selectSort=new SelectSort();
int[] a={5,6,8,2,3,4,7,9,11};
selectSort.ChoiceSort(a);
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
}
}

cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.07.26 23:21

for(int j=i+1;j<a.length;i++) 这里写错了吧,i?应该是j吧

ze631863
ze631863   2015.07.27 14:57

把第二从for循环中的i++改成j++

Csdn user default icon
上传中...
上传图片
插入图片