您的位置:首页 > 编程语言 > Java开发

八大排序算法之-冒泡排序 java代码

2017-08-02 22:55 405 查看
import java.util.Arrays;

/**
* Created by Administrator on 2017/8/2.
*/

public class bubbleSort_change {
public static void main(String args[]) {
int[] arr = { 6, 9, 1, 3, 1, 2, 2, 5, 6, 1, 3, 5, 9, 7, 2, 5, 6, 1, 9 };
//[1, 1, 1, 1, 2, 2, 2, 3, 3, 5, 5, 5, 6, 6, 6, 7, 9, 9, 9]
bubbleSort(arr,0,arr.length-1);
System.out.println(Arrays.toString(arr));
}
/*
*算法思想:前小后大
*  1.比较左右两个元素,保证右边的元素始终大于左边,第一轮结束后最右边的值最大
*  2.对剩下的n-1个数进行1*/
/*时间复杂度:O(n^2)
* 空间复杂度:O(1)
* 稳定性:稳定*/
private static void bubbleSort(int[] arr, int start, int end) {
for (int j = end; j>=0; j--) {
int i = 0;
while (i<j) {
if (arr[i]>arr[i+1]) {
swap(arr,i,i+1);
}
i++;
}
}
}

private static void swap(int[] arr, int i, int i1) {
int tmp = arr[i];
arr[i] = arr[i1];
arr[i1] = tmp;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息