算法学习之排序——冒泡排序及其改进算法(Java)

来源:互联网 发布:android 全局网络监听 编辑:程序博客网 时间:2024/06/06 00:54

冒泡排序:

public class bubbleSort {public static void bubble(int[] array) {for(int i = array.length - 1; i > 0 ; i--) {for(int j = 0; j < i; j++) {if(array[j] > array[j+1]) {int temp = array[j];array[j] = array[j+1];array[j+1] = temp;}}}}public static void main(String[] args) {int[] array = {4};bubble(array);for(int i = 0; i < array.length; i++) {System.out.print(array[i] + " ");}}}


冒泡排序改进一:

若在某次排序中,没有交换,则已排好序,无需继续。

public class improveBubbleSort {public static void improveBubble(int[] array) {boolean isSorted = false;for(int i = array.length -1; i > 0 && !isSorted; i--) {isSorted = true;for(int j = 0; j < i; j++) {if(array[j] > array[j+1]) {isSorted = false;int temp = array[j];array[j] = array[j+1];array[j+1] = array[j];}}}}public static void main(String[] args) {int[] array = {0,1,2,4,3};improveBubble(array);for(int a = 0; a < array.length; a++) {System.out.print(array[a] + " ");}}}

0 0
原创粉丝点击