Java简单实现冒泡排序算法

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;i<arr.length-1;i++)
			for(int j=0;j<arr.length-1-i;j++) {
				if(arr[j]>arr[j+1]) {
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1]=temp;
				}
			}
	}
}
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页