一、使用步骤
代码如下(示例):
package sort;
import javax.xml.stream.FactoryConfigurationError;
import java.util.Arrays;
/**
* 排序算法(冒泡排序)
*/
public class Test01 {
public static void main(String[] args) {
//1.给定一个无序数列
int[] arr = {75, 87, 56, 45, 89, 100, 76, 34, 89, 97};
//int []arr = {34, 45, 56, 75, 76, 87, 89, 89, 97, 100};
//2.排序前输出
System.out.println("排序前:");
System.out.println(Arrays.toString(arr));
//3.排序
//大循环:n个数,至少需要n-1趟循环
for (int i = 0; i < arr.length - 1; i++) {
//先假设数列是有序的
boolean flag = true;
//小循环:每趟循环从第一个元素开始,依次比较相邻的两个
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;
//如果发生了交换,说明无序的
flag = false;
}
}
System.out.println("============="+i+"============");
//一趟小循环结束后,判断是否有序,如果有序,直接退出循环
if (flag){
break;
}
}
//4.排序后输出
System.out.println("排序后:");
System.out.println(Arrays.toString(arr));
}
}