冒泡排序
算法描述
- 比较相邻的元素,如果前一个比后一个大,交换之。
- 第一趟排序第1个和第2个一对,比较与交换,随后第2个和第3个一对比较交换,这样直到倒数第2个和最后1个,将最大的数移动到最后一位。
-
第二趟将第二大的数移动至倒数第二位
......
因此需要n-1趟;
java实现:
public class BubbleSortMain{
/**冒泡排序*/
public static void BubbleSort(int[] arr){
if(arr==null || arr.length - 1 < 2){
return;
}
for(int i = 0;i<arr.length - 1;i++){
for(int j = 0;j < arr.length - i - 1;j++){
if(arr[j] >arr[j + 1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
public static void main(String[] args){
int[] arr = {2,5,1,3,8,9,4,3};
BubbleSort(arr);
print(arr)
}
}
}