十大经典算法之冒泡排序
import java.util.Random;
/**
* @Author: MiaoXiaoQiang
* @Date: 2021/8/26 15:56
*/
public class TenSort {
public static void main(String[] args) {
/**
* 定义数组长度
*/
int arraySize = 10;
int [] array = new int[arraySize];
Random random = new Random();
/**
* 随机生成10随机数,并赋值给数组
*/
for (int i = 0; i < arraySize; i++){
array[i] = random.nextInt(50) + 1;
}
/**
* 打印排序前的数组
*/
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + (i == array.length - 1?"":","));
}
System.out.println();
/**
* 排序
*/
bubbleSort(array);
/**
* 打印排序后的数组
*/
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + (i == array.length - 1?"":","));
}
}
/**
* 1、比较相邻的元素。如果第一个比第二个大,就交换它们两个;
* 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;
* 3、针对所有的元素重复以上的步骤,除了最后一个;
* 4、重复步骤1~3,直到排序完成。
* @param array
* @return
*/
private static int[] bubbleSort(int[] array) {
for (int i = 0; i < array.length - 1; i++){
for (int j = 0; j < array.length - 1 - i; j++){
if (array[j] > array[j+1]){
int temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}
}
}
return array;
}
}