java排序(选择排序)

作者: z七夜 | 来源:发表于2018-05-24 20:58 被阅读2次

    选择排序

    思路

    • 思路:
      数组中得到最大的值,放在数组的最后一位,
      再次循环得到数组中最大的值(不算上一次的),放在数组的最后一位(不算上面的);

    实现

    private static void paixu(int[] arrs) {
            int max;//记录当前趟数的最大值的下标,默认为第一个
            int temp;
            for (int i=0;i<arrs.length-1;i++){//只需要循环判断长度减一次
                max =0;//每次循环完毕,最大值的坐标归0
                for (int j=0;j<arrs.length-i;j++){//当外层循环了多上次,就已经查出来 了多少个最大值,不需要判断后面的
                    //当后面的值比最大值大,就将最大值保存,
                    if (arrs[j]>arrs[max]){
                        max = j;//最大值的下标改成当前位置的下标
                    }
                }
                //循环完成之后,将数组最后一位和数组最大值交换
                temp = arrs[arrs.length-1-i];
                arrs[arrs.length-1-i] = arrs[max];
                arrs[max] = temp;
            }
        }
    

    相关文章

      网友评论

        本文标题:java排序(选择排序)

        本文链接:https://www.haomeiwen.com/subject/nikejftx.html