专题:冒泡排序

作者: Xplorist | 来源:发表于2017-03-14 13:50 被阅读5次

正宗的冒泡思路:(从大到小排列:将小数往下冒)

第一个数和第二个数比较,然后将小的一个数往后面挪,知道挪到最后一位,就得到了第一个最小的数了。将小数往下冒。
关键的是想清楚两次循环的次数,还有中间重复的次数。

 /**
 * 将数组从大到小排序:
 * 5 7 2 9 1 8 3 2 0 6 4 
 * 第1次:a[0]<a[1]交换
 * 7 5 2 9 1 8 3 2 0 6 4 
 * 第2次:a[1]<a[2]不交换
 * 7 5 2 9 1 8 3 2 0 6 4 
 * 第3次:a[2]<a[3]交换
 * 7 5 9 2 1 8 3 2 0 6 4 
 * 第4次:a[3]<a[4]不交换
 * 7 5 9 2 1 8 3 2 0 6 4 
 * 第5次:a[4]<a[5]交换
 * 7 5 9 2 8 1 3 2 0 6 4 
 * 第6次:a[5]<a[6]交换
 * 7 5 9 2 8 3 1 2 0 6 4 
 * 第7次:a[6]<a[7]交换
 * 7 5 9 2 8 3 2 1 0 6 4 
 * 第8次:a[7]<a[8]不交换
 * 7 5 9 2 8 3 2 1 0 6 4 
 * 第9次:a[8]<a[9]交换
 * 7 5 9 2 8 3 2 1 6 0 4 
 * 第10次:a[9]<a[10]交换
 * 7 5 9 2 8 3 2 1 6 4 0 

 * */
    public void test7() {
        int[] a = { 5, 7, 2, 9, 1, 8, 3, 2, 0, 6, 4 };
        for (int n = 0; n < a.length - 1; n++) {
            for (int i = 0; i < a.length - 1 - n; i++) {
                if (a[i] < a[i - 1]) {
                    a[i] = a[i] + a[i - 1];
                    a[i - 1] = a[i] - a[i - 1];
                    a[i] = a[i] - a[i - 1];
                }
            }
        }
    }

我的冒泡思路:(从大到小排列:将大数往上冒)

第一个数依次和后面的每个数比较,然后将大的数放在第一个数的位置。直接将大数冒上来。

我自己的冒泡思路核心代码:

/**
 * 将给定数组(4,2,20,7,1,9,3)从大到小排序
 * */
    public void test5(){
        int[] a={4,2,20,7,1,9,3};
        
        System.out.println("排列前的数组:");
        for(int i=0;i<a.length;i++){
            System.out.print(a[i]+" ");
        }
        System.out.println();
        
        for(int i=0;i<a.length;i++){
            for(int j=i+1;j<a.length;j++){
                if(a[i]<a[j]){
                    a[i]=a[i]+a[j];
                    a[j]=a[i]-a[j];
                    a[i]=a[i]-a[j];
                }
            }
        }

相关文章

  • 专题:冒泡排序

    正宗的冒泡思路:(从大到小排列:将小数往下冒) 第一个数和第二个数比较,然后将小的一个数往后面挪,知道挪到最后一位...

  • 算法-冒泡排序

    算 法:冒泡排序算法时间复杂度: 冒泡排序算法概述 冒泡排序伪代码 冒泡排序实现 冒泡排序算法概述 冒泡排...

  • 算法

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

  • 冒泡排序算法(C语言)

    排序(冒泡排序算法) 本专题将总结数据结构中几种常见的基本排序方法(后续的几种排序方法将会在整理后发布),意图将计...

  • 常用排序算法专题—冒泡排序

    冒泡排序   冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之...

  • 详解排序算法--插入排序和冒泡排序

    冒泡排序插入排序插入排序和冒泡排序分析 冒泡排序 冒泡排序(英语:Bubble Sort,台湾另外一种译名为:泡沫...

  • 经典排序算法总结

    经典排序算法集锦 冒泡法 排序算法入门之冒泡排序 排序算法入门之冒泡排序优化

  • 七大排序算法之冒泡排序

    七大排序算法之冒泡排序 @(算法笔记)[排序算法, 冒泡排序, C++实现] 冒泡排序介绍 冒泡排序是七大排序算法...

  • iOS 面试必须会的---亲身经历+师兄面试后总结

    1.冒泡排序 冒泡排序,必须掌握 除了冒泡排序外还有 插入排序,对比排序,这里举例冒泡排序 2.单例 .h文件 ....

  • dailyLearning -- 排序算法

    目录: 冒泡排序 快速排序 选择排序 插入排序 归并排序 冒泡排序 冒泡排序(Bubble Sort),是一种计算...

网友评论

    本文标题:专题:冒泡排序

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