java实现冒泡排序算法

1、原理

  • 比较两个相邻的元素,将值大的元素交换到右端。

2、思想

  • 依此比较相邻两个数,小的数放在前面,大的数放在后面
  • 第一趟比较第1,2个数,小前大后;比较第2,3个数,小前大后,直至比较到把其中最大数放到最右端
  • 第一趟之后,最后一个一定最大,比较第二趟,第二趟第一个不参与,把第二大的数放到倒数第二个位置
  • 第二趟之后,倒数第二个数第二大,第三趟最后两个数不参与
  • 依此类推,每一趟比较次数-1

3、示例

  1. 数组如下:
int[] arr = {6,3,8,2,9,1}
  1. 具体执行如下:


    冒泡排序趟数和排序次数执行图
  2. 备注
  • N个数字排序,进行 N-1趟排序
  • 每趟排序次数为 N-i-1次
  • 双重循环 外层控制趟数,内层控制每一趟排序次数

4、代码实现

package com.tmf;

public class Test16 {
    public static void main(String[] args) {
        int[] arr = {6,3,8,2,9,1};
        sort(arr);
        for (int i : arr) {
            System.out.print(i+" ");
        }
    }
    public static void sort(int[] arr) {
        for(int i=0;iarr[j+1]) {
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1]=temp;
                }
            }
    }
}

你可能感兴趣的:(java实现冒泡排序算法)