排序算法之选择排序(Java实现)

今天来介绍一下排序算法中的选择排序
和冒泡排序相差不大,都是一种比较简单的排序算法,下面我们先来看一下选择排序的原理:

原理
选择排序,是先选择一个最小(或最大)的元素交换到数组的第一位,然后与其他数据进行比较,然后在剩下的元素中继续寻找最小的元素,然后依次交换,循环直到排序完成

代码实现:

public static void main(String[] args) {
        //定义数组
        int[] nums = {1, 6, 9, 6, 3, 5};
        //第一轮循环,遍历数组
        for (int i = 0; i < nums.length; i++) {
            //首先假设第一个值是最小值
            int mix = nums[i];
            int mixIndex = i;
            //第二层循环做判断
            for (int j = i + 1; j < nums.length; j++) {
                //mix是最小值,如果mix 大于 nums[j] 就交换位置
                if (mix > nums[j]) {
                    mix = nums[j];
                    mixIndex = j;
                }
            }
            //一轮二层循环结束后交换
            int temp = nums[i];
            nums[i] = nums[mixIndex];
            nums[mixIndex] = temp;
        }
        //最后打印排序后的结果
        for (int i = 0; i < nums.length; i++) {
            System.out.print(nums[i] + "\t");
        }
    }
全部评论

相关推荐

吐泡泡的咸鱼:我也工作了几年了,也陆陆续续面试过不少人,就简历来说,第一眼学历不太够,你只能靠你的实习或者论文或者项目经历,然后你没有论文,没有含金量高的比赛和奖项,只能看实习和项目,实习来说,你写的实习经历完全不清楚你想找什么工作?行研?数据分析?且写的太少了,再看项目,这些项目先不说上过大学读过研究生的都知道很水,然后对你想找的岗位有什么帮助呢?项目和实习也完全不匹配啊,你好像在努力将你所有的经历都放在简历里想表现你的优秀,但是对于你想找的岗位来说,有什么用呢?最后只能获得岗位不匹配的评价。所以你需要明白你想要找的岗位要求是什么,是做什么的,比如产品经理,然后再看你的经历里有什么匹配的上这个岗位,或者对这个岗位以及这个岗位所在的公司有价值,再写到你的简历上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务