zoukankan      html  css  js  c++  java
  • 排序算法-冒泡排序

    排序算法-冒泡排序

    这次所说的冒泡算法是一种比较简单的排序算法,冒泡排序也可以叫做交换排序,其主要思路是:

    排序过程中只交换相邻两个元素的位置依次递推,将最大值依次向后传递(由小到大排序)。当

    两个数相等时,是没必要交换两个数的位置的。所以,它们的相对位置并没有改变。

    例:将2,6,1,5,3,8,由小到大排序:

    这只是第一次循环后的结果,之后经历第一次、第二次......(循环次数:a.length-1,<数组 a>)后,

    排出有序j结果。

    相关实现代码:

    package cn.zbvc.sorting;
    
    public class BubbleDem {
    //
    //    /**
    //     * 冒泡排序
    //     */
    
        public void bubbleDem(){
            int [] a = {2,6,1,5,3,8};
    //数组长度为a.length,由于是前后两两比较,所以循环a.length-1次
    for(int i = 0;i < a.length-1;i++){
    //比较相邻两个数,将大的值向后放
    for(int j = 0;j < a.length-i-1;j++){ if(a[j] > a[j+1]){ int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } }
    //打印排好序的数组
    for(int i = 0;i<a.length;i++){ System.out.print(a[i]+" "); } } }

    测试用例:

    package cn.zbvc.test;
    
    import org.junit.Test;
    
    import cn.zbvc.sorting.BubbleDem;
    
    public class TestBubble {
    @Test
        public void testBubble(){
            BubbleDem bubbleDem = new BubbleDem();
            bubbleDem.bubbleDem();
        }
    }

    运行结果:

    1 2 3 5 6 8 

  • 相关阅读:
    借鉴文章记录
    三方框架
    常用第三方库记录
    ios block 类型
    ios runtime部分事例方法说明
    ios url网址相关问题解说
    mysql迁移数据库函数中的坑
    mysql的事务隔离级别
    MySQL数据库的默认隔离级别为什么是可重复读
    实时查看mysql连接数
  • 原文地址:https://www.cnblogs.com/guolun/p/7251161.html
Copyright © 2011-2022 走看看