八大排序-冒泡排序

1.冒泡排序

1.1 概念

冒泡排序属于内部排序,
冒泡排序:每一轮都是相邻的两个数据进行比较,把本轮当中的最大值交换到最后,
依次进行n-1轮
优化:
1.嵌套循环中,j 的值的范围控制由 2.设置一个标志位,如果某轮比较中没有发生交换,则说明排序已经完成,直接跳出循环,排序结束

1.2 代码实现

import java.util.Arrays;
/**
* @author scXu:
* @version 创建时间:2021年5月15日 下午3:32:57
*  冒泡排序-内部排序
*/
public class BubbleSort {
	public static void main(String[] args) {
		int[] arr = {9,3,4,1,8,6};
		bubbleSort(arr);
		System.out.println(Arrays.toString(arr));
	}
	/**
	 * 冒泡排序:每一轮都是相邻的两个数据进行比较,把本轮当中的最大值交换到最后,
	 * 依次进行n-1轮
	 * 优化:设置一个标志位,如果某轮比较中没有发生交换,则说明排序已经完成,直接跳出循环,排序结束
	 * */
	//方法实现
	public static void bubbleSort(int[] arr){
		for(int i = 0;i< arr.length-1;i++){ 
			boolean  flag = false;
			for(int j = 0;j<arr.length-i-1;j++){
				if(arr[j]>arr[j+1]){
					int temp = arr[j+1];
					arr[j+1] = arr[j];
					arr[j] = temp;
					flag = true;					
				}
			}
			System.out.println("第"+(i+1)+"轮");
			if(flag == false) break;		
		}	
	}
}

你可能感兴趣的:(数据结构和算法,数据结构,算法)