永发信息网

选择排序乱码

答案:4  悬赏:30  手机版
解决时间 2021-02-18 17:29
for (i=0;i<100;i++)
{
k=i;
for (j=i+1;j<100;j++)
{
if(a[j]<=a[k])
k=j;
if (k!=i)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
}为什么这段程序在java当中运行会出现乱码的情况?!
最佳答案
public class Test2 {
    public static void main(String[] args) {
        int[] a = new int[] { 22, 33, 44, 11 ,25,10};
        for (int i = 0; i < a.length; i++) {
            int k = i;
            for (int j = i + 1; j                  if (a[j] <= a[k])
                    k = j;
                if (k != i) {
                    int t = a[k];
                    a[k] = a[i];
                    a[i] = t;
                }
            }
        }
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
    }
}

//这样就行了
全部回答
你说的电脑出乱码啊
public class 插入排序_快速排序 { //冒泡排序 public static long maoPao(int[] a){ long time1=System.currentTimeMillis(); for(int i=0;i=0&&temp
  • 3楼网友:怀裏藏嬌
  • 2021-02-17 22:52
//你交换元素的代码位置放错了,应该在每一轮挑选k结束后交换。   实验代码:   public class SimpleTest {   public static void main(String args[]) {   int i, j, k, t;   int[] a = new int[100];   //生成一百个随机数   for(i = 0; i < a.length; ++i)   a[i] = (int)(Math.random() * 100);   //你的排序代码   for (i=0;i<100;i++)   {   k=i;   for (j=i+1;j<100;j++)   {   if(a[j]<=a[k])   k=j;   }   //关键!!!交换代码放到第二层for循环外面来。   if (k!=i)   {   t=a[k];   a[k]=a[i];   a[i]=t;   }   }   //输出结果   for (i = 0; i < a.length; i++) {   System.out.print(a[i] + " ");   }   }   }   --------------------------   实验结果:   0 1 2 2 3 3 3 4 5 5 9 10 10 10 12 14 15 16 17 23 23 23 24 26 27 29 30 31 32 32 33 33 34 35 35 36 37 37 39 40 43 44 46 46 47 48 51 55 56 56 58 59 60 62 63 63 64 64 65 66 66 67 67 68 69 70 70 71 73 73 74 76 76 79 80 81 82 83 83 84 85 86 86 87 89 89 89 90 91 92 92 94 94 94 94 96 96 96 97 98
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯