码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序 (java)

时间:2018-04-09 18:55:57      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:structure   ref   分享图片   int   冒泡排序   分享   ++   markdown   相同   

l1 冒泡排序

l2 冒泡排序介绍

冒泡排序(Bubble Sort),又被称为气泡排序或泡沫排序。

它是一种较简单的排序算法。它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾! 采用相同的方法再次遍历时,第二大的元素就被排列在最大元素之前。重复此操作,直到整个数列都有序为止!

  • 实现思路: 找出第一大元素,和最后一个元素互换;找出第二大元素,和第一大元素前的元素互换... 找出前len-i个值中的最大值,和第len-i-1个元素(每行中除去排好序的元素的最后一个元素)互换.

技术分享图片

l3 代码

/*
* len:数组长度
*/
public int[] sort() {
        int bigger = 0;
        int bigger_index = 0;
        int i = 0, j = 0;

        for (i = len - 1; i > 0; i--) {
            bigger = array[0];
            bigger_index = 0;
            for (j = 1; j <= i; j++) {
                if (bigger < array[j]) {
                    bigger = array[j];
                    bigger_index = j;
                }
            }
            // 这趟最大值
            // System.out.println("最大"+bigger);
            swap(bigger_index, i);
        }
        return array;
    }

l4 源码

https://github.com/waddless/data_structure/tree/master/comparison_sorting/BubbleSort#l1-%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F

冒泡排序 (java)

标签:structure   ref   分享图片   int   冒泡排序   分享   ++   markdown   相同   

原文地址:https://www.cnblogs.com/zhihaowu/p/8761444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!