博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java学习——排序算法之选择排序
阅读量:3941 次
发布时间:2019-05-24

本文共 1364 字,大约阅读时间需要 4 分钟。

Java学习——排序算法之选择排序

选择排序,我认为是排序中最好理解的一种算法了。

  • 那么什么是选择排序?

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。

  • 为了使大家更好的理解,我们还是以画图的形式来解释其原理:

在这里插入图片描述

  • 了解了其原理,我们用代码来实现:

import java.util.Arrays;public class Test2 {    /*     * 选择排序     */    public static void main(String[] args) {        //定义一个int类型的数组        int[] arr = {5,3,1,8,2};        /*         * 排序         * 外层循环控制轮数(i):轮数=数组长度-1(即arr.length-1)         */        for (int i = 0; i < arr.length-1; i++) {            /*             * 内层循环控制次数             *          第一轮:从下标1开始比较,至末尾(arr.lemgth)结束             *          第二轮:从下标2开始比较,至末尾(arr.lemgth)结束             *          第三轮:从下标3开始比较,至末尾(arr.lemgth)结束             *          第四轮:从下标4开始比较,至末尾(arr.lemgth)结束             *          所以:从下表i+1开始,至末尾结束             */            for (int j = i+1; j < arr.length; j++) {                /*                 * 比较第一个数和后面每个数的大小                 * 如果第一个数大于后面的数,则把后面较小的数与其互换位置,依此类推                 */                if (arr[i]>arr[j]){                    //定义一个临时变量,用来交换两个值                    int temp = arr[j];                    arr[j] = arr[i];                    arr[i] = temp;                }            }        }        //利用Arrays打印排序好的数组        System.out.println(Arrays.toString(arr));    }}/* *      输出结果:[1, 2, 3, 5, 8] */

转载地址:http://txiwi.baihongyu.com/

你可能感兴趣的文章
node-webkit:开发桌面+WEB混合型应用的神器
查看>>
Hybird APP 开发 总结
查看>>
创业公司进行股权激励要注意的四大问题
查看>>
Ext各组件属性配置(上) -- 中文注释
查看>>
document.forms用法
查看>>
[手机知道] 用IE7调试 JS报没有权限
查看>>
JS 定义数组
查看>>
PHP解决多线程同时读写一个文件的…
查看>>
PHP一段上传文件的代码
查看>>
猴子排队算法
查看>>
猴子排队算法
查看>>
查询系统负载信息&nbsp;Linux&nbsp;命令详解
查看>>
增强&nbsp;SSH&nbsp;安全性的&nbsp;7&nbsp;条技巧
查看>>
this作用域、javascript面向…
查看>>
提高网页在IE和Firefox上的…
查看>>
提高网页在IE和Firefox上的…
查看>>
php的正则表达式&nbsp;&#039;/\b\w…
查看>>
ThinkPHP的标签制作及标签调用解析…
查看>>
jQuery.proxy()代理、回调方法
查看>>
php操作memcache的使用测试总结
查看>>