美文网首页
Java实现数组排序(一)冒泡和选择排序

Java实现数组排序(一)冒泡和选择排序

作者: Harold_h | 来源:发表于2017-08-12 10:04 被阅读46次

一:冒泡排序。

冒泡排序就是利用循环,数组元素和后面一个比较,然后根据我们的需要来交换顺序,每次都会将一个最大或者最小值放到数组后面。

  例如数组:{3,1,9,5 ,2}利用冒泡进行从小到大的顺序排列。

第一次循环:3和1比较,3比1大,则3,1交换顺序:{1,3,9,5,2}

                       之后3和9比较,3比9小,位置不变{1,3,9,5,2}

                      然后9和5再比较,9比5大,则9,5交换顺序{1,3,5,9,2}

                      9和2比较,9大,所以9和2交换:{1,3,5,2,9}

                   第一次循环之后将最大的数移到最后。

第二次循环:

                    1,3比较,位置不变。

                   3,5比较位置不变,

                    5,2比较,5大,交换位置{1,3,2,5,9}

      (数组最后一个元素即9,已经验证是最大的了,所以不与要再和9比较)

.......

Java代码实现:

二.选择排序

  本人感觉选择选择排序和冒泡排序的原理差不多,冒泡排序是两两比较然后再换位置,而选择排序是整个数组比较选出一个极值然后很据排序方式放到相应的位置。

例如数组:{3,1,9,5 ,2}利用选择进行从小到大的顺序排列。

第一次循环:首先假设最大值为啊a[0] 即max = a[0] = 3。下标:ps = 0

                         max和1比较,max大,max不变,ps = 0;

                         max在和9比较,9大,max = 9,ps = 2;

                        max和5比较,max大,max = 9,ps = 2;

                       max和2比较,max大,max = 9;ps = 2;

            循环之后得到整个数组的最大值max,和下标ps,然后将最大值与数组最后一个元素互换,

          a[ps] = a[a.length-1];  a[a.length-1] = max;

             此时数组最后一个值就是最大值。

第二次循环:

             选出除最后一个值之外的最大值,放到倒数第二的位置;

......

Java代码实现



相关文章

  • 冒泡排序 选择排序

    冒泡排序 java 实现 C 实现 选择排序 java 实现 C 实现

  • java 实现排序算法之「选择排序」

    java 实现排序算法系列 继冒泡排序算法之后,选择排序终于和大家见面了。为什么冒泡排序之后要说选择排序呢,是因为...

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

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

  • 面试知识点

    排序冒泡排序快速排序选择排序插入排序二路归并 查找二分查找 排序和查找的java实现 java语言Java字符串字...

  • 09 Golang sort排序

    选择排序 冒泡排序 二叉树实现插入排序 sort排序 对于int、float64和string数组或是切片的排序,...

  • Java 数组的排序、逆序

    数组的排序、逆序测试数据 数组选择排序 数组冒泡排序 数组逆序

  • Java实现数组排序(一)冒泡和选择排序

    一:冒泡排序。 冒泡排序就是利用循环,数组元素和后面一个比较,然后根据我们的需要来交换顺序,每次都会将一个最大或者...

  • 常用排序算法的Java实现

    冒泡、插入、选择、归并、快速排序的Java实现

  • 数据结构&算法(一)

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

  • 算法

    iOS冒泡排序、插入排序、选择排序、快速排序、二分查找用数组实现栈和队列专题:菲波那切数列与递归

网友评论

    本文标题:Java实现数组排序(一)冒泡和选择排序

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