首页 > 编程语言 > 详细

冒泡排序+图解

时间:2017-02-19 10:31:06      阅读:141      评论:0      收藏:0      [点我收藏+]

冒泡排序

轻的上浮,沉的下降,小的往前来,大的往后走.

两个相邻位置比较,如果前面的元素比后面的元素大就换位置.每比较一次,最后一次就不用再参与比较了.相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处

图解一:

技术分享

 

图解二:

 

技术分享

 

 

案例:

  1. public class Demo1_Array {
  2.    public static void main(String[] args) {
  3.       int[] arr = {24, 69, 80, 57, 13};
  4.       bubbleSort(arr);
  5.       print(arr);
  6.    }
  7.    public static void bubbleSort(int[] arr) {
  8.       for (int i = 0; i < arr.length - 1; i++) { //外循环只需要比较arr.length-1次就可以了
  9.          for (int j = 0; j < arr.length - 1 - i; j++) { //-1为了防止索引越界,-i为了提高效率
  10.             if(arr[j] > arr[j+1]) {
  11.                swap(arr,j,j+1);
  12.             }
  13.          }
  14.       }
  15.    }
  16.    public static void print(int[] arr) {
  17.       for (int i = 0; i < arr.length; i++) {
  18.          System.out.print(arr[i] + "");
  19.       }
  20.    }
  21.  
  22.    /*
  23.     * 换位操作
  24.     * 1,返回值类型,void
  25.     * 2,参数列表int[] arr.int i,int j
  26.     */
  27.  
  28.    private static void swap(int[] arr,int i,int j) {
  29.       int temp = arr[i];
  30.       arr[i] = arr[j];
  31.       arr[j] = temp;
  32.    }
  33. }

冒泡排序+图解

原文:http://www.cnblogs.com/wk520hll/p/6414576.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!