1
回答
Java中的简单取序列中最大最小的几个数时的方法
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

以下为常用于取序列中最大最小的几个数时。

如果每次比较都交换,那么就是交换排序;如果每次比较完一个循环再交换,就是简单选择排序。

  1. 遍历整个序列,将最小的数放在最前面。
  2. 遍历剩下的序列,将最小的数放在最前面。
  3. 重复第二步,直到只剩下一个数。

代码完成:

  1. 首先确定循环次数,并且记住当前数字和当前位置。
  2. 将当前位置后面所有的数与当前数字进行对比,小数赋值给key,并记住小数的位置。
  3. 比对完成后,将最小的值与第一个数的值交换。
  4. 重复2、3步。

代码实现如下:

    public void selectSort(int[] a) {
        int length = a.length;
        for (int i = 0; i < length; i++) {//循环次数
            int key = a[i];
            int position=i;
            for (int j = i + 1; j < length; j++) {//选出最小的值和位置
                if (a[j] < key) {
                    key = a[j];
                    position = j;
                }
            }
            a[position]=a[i];//交换位置
            a[i]=key;
        }
    }

 万花筒创客云空间

<无标签>
举报
顶部