Java数组排序算法

作者: 粥一样温柔 | 来源:发表于2019-02-01 21:35 被阅读2次

冒泡排序(BubbleSort)

冒泡排序的基本思想是对比相邻的元素值,如果满足条件就交换元素,把较小的元素移动到数组前面,把大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底部上升到顶部。
冒泡算法由双层循环实现,其中外层循环用于控制排序轮次,一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素,不需要对比,同时数组已经完成了排序。
内层循环主要用于对比数组中每个邻近元素的大小,以确定是否交换位置,对比和交换次数随排序轮数而减少。


BubbleSort.jpg

直接选择排序(SelectSort)

直接选择排序的基本思想是,将指定排序位置与其他数组元素分别对比,如果满足条件就交换元素值。这里区别于冒泡排序的是:不是交换相邻元素,而是把满足条件的元素与指定的排序位置交换。与冒泡排序相比,直接选择排序的交换次数要少很多,速度相应更快。


SelectSort.jpg

反转排序(ReverseSort)

翻转排序的意思,就是把数组最后一个元素与第一个元素替换,倒数第二个元素,与第二个元素替换,以此类推,知道吧所有数组元素反转替换。
反转排序是对数组两边的元素进行替换,所以只需要循环数组长度的半数次。如数组长度为9,那么for循环只需要循环4次。


ReverseSort.jpg

相关文章

  • 数据结构必备代码

    目录: 排序算法 树的遍历 查找 链表插入 数组与列表转化 二维数组排序 java中输入 集合遍历 一、基本排序1...

  • Hash算法

    数据结构与算法分析:大纲数据结构:数组算法:hash算法算法:排序算法Java实现 1 Hash算法? 将任意长度...

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • Java数组排序算法

    冒泡排序(BubbleSort) 冒泡排序的基本思想是对比相邻的元素值,如果满足条件就交换元素,把较小的元素移动到...

  • Java算法 - 排序算法

    Java算法 - 排序算法 插入排序 思路简介 假定待排序数组长度为N,假设前n-1个数已经排好序,通过比较第n个...

  • PHP排序算法

    排序算法 冒泡排序(数组排序) 快速排序(数组排序) 参考 http://www.cnblogs.com/enia...

  • PHP常用数组排序算法

    title: PHP常用数组排序算法tags: [PHP,数组,排序,算法] 这几天写到的代码中,用到了许多对数组...

  • Java语言——数组排序算法

    数组有很多常用的算法,包括冒泡排序、直接选择排序和反转排序。 一、冒泡排序 冒泡排序是最常用的数组排序算法之一,它...

  • LeetCode基础算法-数组

    LeetCode基础算法-数组 算法 LeetCode 数组相关 1. 从排序数组中删除重复项 描述:给定一个排序...

  • 快速排序(Java)

    快速排序算法思想: (1)输入的数据信息:输入一个待排序的数组a[n],利用QuickSort算法实现此数组的排序...

网友评论

    本文标题:Java数组排序算法

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