通过比较和交换相邻元素的方式,将较大的元素逐渐“冒泡”到数组的末尾。
具体步骤如下:
- 遍历数组,比较相邻元素的大小。如果前一个元素大于后一个元素,则交换它们的位置,这样较大的元素就会“冒泡”到后面。
- 经过一轮遍历后,最大的元素会位于数组的末尾。然后再次遍历数组,但这次只需要遍历到倒数第二个元素,因为最后一个元素已经是最大的了。
- 不断重复上述步骤,每轮遍历都会将一个最大的元素“冒泡”到正确的位置。直到所有元素都排好序。
public static void sortArray(int[] nums) {
if(nums==null || nums.length<2 ){
return;
}
int n=nums.length;
//i<n-1,因为总共需要n-1次交换
for(int i=n-1;i>0;i--){
for(int j=0;j<i;j++){
if(nums[j]>nums[j+1]){
swap(nums,j,j+1);
}
}
}
}
public static void swap(int[] nums,int a,int b){
int temp=nums[a];
nums[a]=nums[b];
nums[b]=temp;
}