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 

  • 相关阅读:
    MySQL-基础知识整理
    设计模式-适配器模式
    MySQL
    MySQL-5.7 填坑
    MySQL
    Oracle
    SQL 注入
    Apache JMeter
    AppScan
    DNS 搜索
  • 原文地址:https://www.cnblogs.com/guolun/p/7251161.html
Copyright © 2011-2022 走看看