java冒泡排序法代码
public void bubbleSort(int[] array) { for (int i = 0; i < array.length - 1; i++) { //定义标志位来判断待排序区间是否有序 boolean isSorted = true; for (int j = 0; j < array.length - 1 - i; j++) { if (array[j] > array[j + 1]) { swap(array, j, j + 1); //只要发生交换说明待排序区间初始并不是有序 isSorted = false; } } if(isSorted) { break; } }}private void swap(int[] array, int i, int j) { int tmp = array[i]; array[i] = array[j]; array[j] = tmp;}
性能分析时间复杂度:最好的情况:待排序有序时,时间复杂度为O(N)最坏的情况:待排序逆序时,时间复杂度为O(N^2)平均情况:时间复杂度 为O(N^2)空间复杂度:O(1)稳定性:稳定初始数据越接近有序,时间效率越高
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。