冒泡排序(JAVA)
英文:BubbleSort一、冒泡排序是什么?
在无序区间,通过相邻数的比较,将最大的数冒泡到无序区间的最后,持续这个过程,直到数组整体有序。
二、性能分析
时间复杂度:
空间复杂度: O(1)
稳定性:稳定
三、代码实现
1.原理
代码如下(示例):
//冒泡排序
public static void bubbleSort(int[] arr){
//[0,bound)已排序区间
//[bound,length)待排序区间
int bound = 0;
for(; bound < arr.length; bound++){
for(int cur = arr.length - 1; cur > bound; cur--){
if(arr[cur] < arr[cur - 1]){
//不符合升序,交换
swap(arr, cur, cur - 1);
}
}
}
}
public static void swap(int[] arr ,int x,int y){
int tmp = arr[x];
arr[x] = arr[y];
arr[y] = tmp;
}
2.main函数部分验证
代码如下(示例):
public static void main(String[] args) {
int[] arr = {9,5,2,7,3,6,8};
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
总结
以上就是今天要讲的内容,本文介绍了冒泡排序的使用,欢迎评论区留言,我们共同探讨问题!