冒泡排序的算法需要用到两个for循环来实现,但是for循环的时间运行时间较长,所以使用while循环来优化冒泡排序,代码如下:
public static void main(String[] args) {
int[] arr = new int[10];
Random random = new Random();
for(int i = 0;i<arr.length;i++){
arr[i] = random.nextInt(100);
}
System.out.print("排序前:");
for (int i =0;i<arr.length;i++){
System.out.format(arr[i]+" ");
}
System.out.println();
bS(arr);
}
public static void bS(int arr[]){
boolean f = true;
while (f) {
f = false;
for (int i = 0; i < arr.length - 1; i++) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
f = true;
}
}
}
System.out.print("排序后:");
for(int x: arr){
System.out.print(x+" ");
}
}