public class BubbleSort { /** * 由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。 * 时间复杂度为O(n^2) * 稳定排序方式 * @param nums 待排序数组 * @return 输出有序数组 */ public static void sort(int[] nums){ boolean isChanged; for (int i = 0; i < nums.length; i++) { isChanged = false; //若发现较大元素,则往后移 for (int j = 0; j < nums.length-i-1; j++) { if (nums[j]>nums[j+1]) { int temp = nums[j+1]; nums[j+1]=nums[j]; nums[j]=temp; isChanged = true; } } //若没有移动,说明序列已经有序,跳出循环 if (!isChanged) { break; } } } }