冒泡排序算法-创新互联

                      冒泡排序算法

1. 原理

崇明网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联建站从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站
  冒泡排序,顾名思义就是将想冒泡一样将大的那个数冒到最高点。
          在一个数组中,遍历这个数组,从第一个数开始,和后面一个数两两比较,
          如果前面一个数比后面一个数大,就交换2个数的位置,这样可保证数组中
          大的那个数一定在最后一位。这是第一次比较,接下来这个大的数就
          不参与比较了,第二次比较重复上面操作,将第二大的数放在倒数第二位。
          同理,每次都把大的数放在参与比较的数的最后一位,
          比到参与的只剩下一位数时,排序完成。

2.举例

假设有个长度为4的数组 a[]={22,3,44,21},下面用冒泡排序算法对其进行升序排序。
    第一趟比较:22和3比较,22大于3,于是交换位置 数组变成 a[]={3,22,44,21}
                         22和44比较,22小于44,不做操作 数组为a[]={3,22,44,21}
                         44和21比较,44大于22,于是交换位置 数组为a[]={3,22,21,44}   
                         44成功冒泡,44不参与下一趟比较了
     第二趟比较:3和22比较,3小于22,不做操作 数组为a[]={3,22,21,44}
                          22和21比较,22大于21,于是交换 数组变为a[]={3,21,22,44}  
                           22成功冒泡,44和22不参与下一趟比较
    第三趟比较:3和21比较,3小于21 不做操作 数组为a[]={3,21,22,44}   
                          21和22比较,21小于22 不做操作 数组为a[]={3,21,22,44}  
                           21成功冒泡,44,22,21不参与下次比较
     由于参与比较的只剩下3一个数了,排序结束,结果为数组升序排序。          

3.java代码实现

package sort;

import java.util.Arrays;

public class BubbleSort {
    public static void main(String[] args) {
        int a[]={22,3,44,21};
        bubbleSort(a);
        System.out.println(Arrays.toString(a));
    }   
    //冒泡排序算法
    public static void bubbleSort(int[] a){
        int temp;
        for(int i=0;ia[j+1]){
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
            }
        }
    }
}

打印结果为:[3, 21, 22, 44]

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


网站标题:冒泡排序算法-创新互联
文章源于:http://pwwzsj.com/article/deepdj.html