冒泡排序可以说是我们高中的时候就开始接触的排序方法了吧,这种排序的方法的思路比较简单,不过有一定的局限性————就是在对大量的数据进行排序时,这种方法会比较蹩脚。因此,人们才会不断的想方法去改进这种方法,后来的选择排序就是冒泡排序的改进版。
冒泡排序的基本思路就是相邻的两个数相比,如果前一个数比后一个数大(小)就交换,把大(小)的数放在后面。
这种方法在排序好之前,每次对比的起点都是在第一个元素,同时每次排序又会有N个元素,即会对比N-1次,因此总的对比次数就为N(N-1),因此这个排序的时间复杂度为O(N^2)。
这是一种稳定的排序。(因为这个排序比较简单,就不画图啦)
代码实现如下:
public static void bubbleSort(int[] nums) {
if(nums == null || nums.length < 2) return;
int length = nums.length;
int end = length - 1;
for(int j = 0; j < end; j++) {
for(int i = 0; i < end; i++) {
//如果前一个数比后一个数大,两数交换
if(nums[i] > nums[i+1]) {
int temp = nums[i];
nums[i] = nums[i+1];
nums[i+1] = temp;
}
}
//把最大的数放到end位置
end--;
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。