2.冒泡排序——啊哈算法java实现

来源:互联网 发布:php header cookie 编辑:程序博客网 时间:2024/06/15 22:54
/** * 题目: * 对数组:100,39,55,66,45,64,98 按从大到小排序 * *//** * 冒泡排序解法: * n个数,进行n-1趟比较,每一趟比较确定一个最末尾的数的位置; * 每一趟排序中,要与(n-已走过的趟数i)个数字比较; * 比如,7个数字要按从大到小排序,第一趟i=1时, * 第一个数要与后面的n-i=7-1=6个数字比较; * 如果这个数字比后一个数小,则两个数交换位置; * 这就是冒泡排序 * */public class BubbleSort {public int[] bubbleSort(int[] array){if(array == null || array.length < 1)return null;int n = array.length;int temp = 0;for(int i=0; i<n-1; i++){//n个数,比较n-1趟for(int j=0; j<n-i-1; j++){//因为i是从0开始的,所以是比较n-i-1次if(array[j] < array[j+1]){//当前数比后一个数小,交换位置temp = array[j];array[j] = array[j+1];array[j+1] = temp;}}}return array;}public static void main(String[] args) {BubbleSort bubble = new BubbleSort();int[] array = {100,39,55,66,45,64,98};int[] a = bubble.bubbleSort(array);for(int i : a){System.out.print(i+" ");}}}


输出:

100 98 66 64 55 45 39 


啊哈算法PDF下载

0 0