java算法_选择排序


        //选择排序
        int[] ss = new int[]{2, 5, 2, 99, 43, 44, 56, 25};
        selectSort(ss);
        System.out.println(Arrays.toString(ss));
    }

    public static void selectSort(int[] a) {
        //选择排序是在数组中,首先定义两个变量
        int temp = 0;//为了存选择的最小的数组中的数字
        int index = 0;//这个是记录数组中数字的下标,这里不是做冒泡,所以需要一个变量存起来做记录
        for (int i = 0; i < a.length - 1; i++) {//外层需要-1是因为:用的小于号,需要比下标位置-1, 最后一个不需要插入的,已经是最大的了
            index = i;//每次循环都要排除已经插入的下标,所以先index=i
            for (int j = i + 1; j < a.length; j++) {//i的数字+1,两个下标做对比,j++
                if (a[j] < a[i]) {//如果j下标小于i
                    index = j;//把j的值赋值给index,记录最小数字的下标
                }
            }
            temp = a[index];//按照最小数字的下标取到数字,存到temp变量中
            a[index] = a[i];//把做比较的大的下标i的数字放到最小下标的位子上
            a[i] = temp;//把取到的最小的值放到最前面i的位子上
            //完成替换
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 排序算法有好多种,也在特殊的场景中,我们经常需要对我们的数据进行排序,这里对经典的排序做一个记录整理。 一冒...
    开飞机的老舒克阅读 2,507评论 0 1
  • 七点来钟起来,去医院又拔了一颗智齿,第三颗了。 大一时牙疼,忍受了半年吃着东西隐隐作痛去牙医看了下,两颗智齿,拔之...
    那人又过了一秋阅读 1,765评论 0 0
  • 在秦岭南坡,有一座安静的小城,宛如碧玉镶嵌于群山之间。 没有灯红酒绿的夜生活,没有烦躁嘈杂的快节奏。她是...
    风烟丶阅读 2,532评论 0 0

友情链接更多精彩内容