冒泡排序(Java)

给定一个数组{3,4,2,1},进行从小到大排序

  • 思路:相邻两个数比较,循环(n-1)轮,每轮循环(n-1-i)次。

//===第一轮循环===
//3421---------------3和4比较,无需交换
//3241---------------4和2比较,4>2,交换位置
//3214---------------4和1比较,4>1,交换位置,此时,已找到最大数
//===第二轮循环===
//2314---------------2和3比较,无需交换
//2134---------------3和1比较,3>1,交换位置,此时已找到第二大的数
//2134---------------3和4比较,无需比较,因为上一轮已找到最大数
//===第三轮循环===此轮如上类推,不写了
//1234
//1234
//1234

  • 代码如下:
public static int[] paixu(int[] c) {
        for (int i = 0; i < c.length; i++) {  //控制循环多少轮
            for (int j = 0; j < c.length-1-i; j++) { //控制相邻两个数循环多少次,-i是因为每一轮都找到了一个最大数
                if (c[j]>c[j+1]) {
                    int tmp = c[j] ;
                    c[j] = c[j+1];
                    c[j+1] = tmp;                   
                }               
            }           
        }
       return c;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 冒泡排序(Bubble Sort)是啥? 来源百度百科:冒泡排序是一种简单的排序算法。它重复地走访过要排序的元素列...
    HuFan_JS阅读 423评论 0 1
  • 什么是冒泡排序? 百度百科:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走...
    old_six_kang阅读 268评论 0 0
  • 一、算法描述 冒泡排序:比如在一个长度为N的无序数组中,在第一趟从第一个数据开始遍历,遇到比他大的(小的),就交换...
    燕大虾呀阅读 185评论 0 0
  • //冒泡排序//基本思想:两个数比较大小,较大的数下沉,较小的数冒起来//过程:1.比较相邻的两个数,如果第二个数...
    雨落千木的时节阅读 333评论 0 0
  • 简而言之就是,从第一个元素开始,相邻的两个元素比较,若后面的元素较小,则交换两个元素,直至都比较完了,就得到一个有...
    lyn0130阅读 238评论 0 0