一、什么是选择排序1.1、文字描述选择排序是一种简单直观的排序方式,它的工作原理是每一次排序时先从待处理数据元素中选择出一个最大(或最小)的元素,并存放在序列的末尾(起始)位置,每进行一次排序后其操作元素就减少1,直到所有的数据元素都排序完成 。
1.2、程序描述定义一组数据元素,第一次排序时,假定第一个元素是最大值 max,然后遍历数组元素,找出最大值和最后一个元素进行交换 。第二次排序时还是假设第一个是最大元素并和剩下的元素进行比较,找到最大的元素并放到倒数第二个的位置,一直循环下去直到排序完成 。
文章插图
二、代码示例
public static void main(String[] args) {int[] ints = {-24,-15,2,1,3,5,7,6,10,8,9,11,12,13};/* 定义需要操作的数据长度 */int handleLength = ints.length;int handleIndex = 0;/* 默认第一个是最大数据 */int max = ints[0];/* 当需操作数据长度为1时就不需要操作了 */while (handleLength > 1) {for (int j = 0; j < handleLength; j++) {if (ints[j] > max) {/* 拿到最大值的下标和数值 */handleIndex = j;max = ints[j];}/* 最后一次操作的时候进行数据转换操作 */if (j == (handleLength - 1)) {ints[handleIndex] = ints[handleLength - 1];ints[handleLength - 1] = max;max = ints[0];handleLength--;}}System.out.println(CollectionUtils.arrayToList(ints));}}
【一起学排序算法——选择排序】JAVACopy
输出如下:
文章插图
推荐阅读
- |案例:一起因偷看女邻居洗澡引发的血案
- 头条西瓜发视频就能赚钱,学会这5个方法,新手0粉丝就能有收益
- 一次完整的渗透测试&仅供学习研究
- 复制粘贴,Excel中最复杂的功能之一,看完你会觉得以前都白学了
- 大学生|武汉大学生封校期间, 钓走湖里200斤鱼被质疑浪费, 其实钓获真不多
- 丝瓜能和花生一起吃吗
- 黄豆和猪肉能一起吃吗?
- 豇豆和鸡肉能一起炒吗?
- 豆角和鸡肉能一起吃吗?
- 土豆和丝瓜能一起炒吗