版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
目标:使用冒泡排序法对随机数组进行排序。
冒泡排序思想:假设数组一共有n个元素,那么一共要进行n-1次循环,在每次循环里,定义变量j从下标0开始,与后面一个数进行比较,如果array[j]>array[j+1]则交换两个数,直到j==array.length-i-1,完成将最大数放到最后的任务,接着下轮循环;每次循环会将当前比较范围中最大的数值推送到最后并将比较范围减1,直到比较范围为1时,排序完成。
代码实现:
//冒泡排序法
public static void bubbleSort(int[] array){
for(int i=0;i<array.length;i++){
for(int j=0;j<array.length-1-i;j++){
if(array[j]>array[j+1]){
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
进行排序测试:
import java.util.Scanner;
public class Client {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int left = input.nextInt();
int right = input.nextInt();
int[] array = SortUtil.getRandomArrayData(n, left, right);
System.out.println("排序前:");
print(array);
SortUtil.bubbleSort(array);
System.out.println("排序后:");
print(array);
}
public static void print(int[] array){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
System.out.println();
}
}