5. 交换排序—冒泡排序(Bubble Sort)
基本思想:
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
冒泡排序的示例:
算法的实现:
import java.util.Random;
public class BubbleSort {
public static void main(String[] args) {
int[] arr = new int[10];
Random r = new Random();
for(int i=0; i<10 ; i++){
arr[i] = r.nextInt(100);
}
for(int i=0; i<10 ; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
int minIndex = 0;
for(int i=0; i< arr.length; i++){ //趟数
for(int j=0; j<arr.length-i-1; j++){//比较
if(arr[j] > arr[j+1]){
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
for(int i=0; i<10 ; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
输出结果:
2 24 41 14 63 2 38 11 12 78
2 2 11 12 14 24 38 41 63 78
5. 交换排序—冒泡排序(Bubble Sort)
基本思想:
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
冒泡排序的示例:
算法的实现:
import java.util.Random;
public class BubbleSort {
public static void main(String[] args) {
int[] arr = new int[10];
Random r = new Random();
for(int i=0; i<10 ; i++){
arr[i] = r.nextInt(100);
}
for(int i=0; i<10 ; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
int minIndex = 0;
for(int i=0; i< arr.length; i++){ //趟数
for(int j=0; j<arr.length-i-1; j++){//比较
if(arr[j] > arr[j+1]){
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
for(int i=0; i<10 ; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
输出结果:
2 24 41 14 63 2 38 11 12 78
2 2 11 12 14 24 38 41 63 78