您当前的位置: 首页 >  Java

小志的博客

暂无认证

  • 0浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

java数据结构和算法——冒泡排序算法

小志的博客 发布时间:2020-08-04 09:24:50 ,浏览量:0

目录
    • 一、冒泡排序算法介绍
    • 二、冒泡排序算法思路图解
    • 三、冒泡排序算法的演变过程示例
    • 四、冒泡排序算法的完整示例代码
    • 五、冒泡排序算法的完整示例代码优化
    • 六、测试冒泡排序算法所消耗的时间示例

一、冒泡排序算法介绍
  • 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  • 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  • 针对所有的元素重复以上的步骤,除了最后一个。
  • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
二、冒泡排序算法思路图解

在这里插入图片描述

三、冒泡排序算法的演变过程示例

1、代码

package com.rf.springboot01.dataStructure.sort;

import java.util.Arrays;
/**
 * @description:  冒泡排序
 * @author: xiaozhi
 * @create: 2020-08-04 08:45
 */
public class BubblingSort {
    public static void main(String[] args) {
        int[] arr={3, 9, -1, 10, -2};  
            
        System.out.println("排序前的数组=========");
        System.out.println(Arrays.toString(arr));
        
        bubbleSortSample(arr);
        
        System.out.println("排序后的数组=========");
        System.out.println(Arrays.toString(arr));
    }

    /** 
    * @Description:   冒泡排序的演变过程示例
    * @Param: [] 
    * @Author: xz  
    * @return: void
    * @Date: 2020/8/4 8:57  
    */ 
    public static void bubbleSortSample(int[] arr){
    
        System.out.println("排序过程演示中的数组++++++++++++++++");
        
        int temp=0;//定义一个临时变量

        //第一趟排序,就是将第一大的数排在倒数第一位
        for(int j=0;jarr[j+1]){
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
        System.out.println("第一趟排序后的数组");
        System.out.println(Arrays.toString(arr));

        //第二趟排序,就是将第二大的数排在倒数第二位
        for(int j=0;jarr[j+1]){
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
        System.out.println("第二趟排序后的数组");
        System.out.println(Arrays.toString(arr));

        //第三趟排序,就是将第三大的数排在倒数第三位
        for(int j=0;jarr[j+1]){
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
        System.out.println("第三趟排序后的数组");
        System.out.println(Arrays.toString(arr));

        //第四趟排序,就是将第四大的数排在倒数第四位
        for(int j=0;jarr[j+1]){
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
        System.out.println("第四趟排序后的数组");
        System.out.println(Arrays.toString(arr));
    }
    
}

2、运行main函数,结果如下: 在这里插入图片描述

四、冒泡排序算法的完整示例代码

1、代码

package com.rf.springboot01.dataStructure.sort;

import java.util.Arrays;
/**
 * @description:  冒泡排序完整示例
 * @author: xiaozhi
 * @create: 2020-08-04 08:45
 */
public class BubblingSort {
    public static void main(String[] args) {
        int[] arr={3, 9, -1, 10, -2};
       
        System.out.println("排序前的数组=========");
        System.out.println(Arrays.toString(arr));

        bubbleSort(arr);

        System.out.println("排序后的数组=========");
        System.out.println(Arrays.toString(arr));
    }
    
    /** 
    * @Description:  冒泡排序完整示例方法
    * @Param:  
    * @Author: xz  
    * @return: 
    * @Date: 2020/8/4 8:58  
    */
    public static  void bubbleSort(int[] arr){
        int temp=0;//定义一个临时变量
        //在每一趟排序的for循环外层在嵌套一个for循环
        for(int i=0;i            
关注
打赏
1661269038
查看更多评论
0.0523s