排序算法

来源:互联网 发布:无法无天 吾知txt 编辑:程序博客网 时间:2024/06/01 12:51

冒泡排序

通过与相邻元素的比较和交换来把小的数交换到前面。这个过程类似于水泡向上升,因此而得名。对5,3,8,6,4这个无序序列进行冒泡排序。首先从后向前冒泡,4和6比较,把4交换到前面,序列变成5,3,8,4,6。同理,4和8进行交换,变成5,3,4,8,6。3和4无需交换。5和3交换,变成3,5,4,8,6。这样一次冒泡就完了,把最小的数3排到了最前面。这样,至少有一个数字被排到了正确的位置。对剩下的序列依次冒泡就会得到一个有序序列。冒泡排序的时间复杂度为O(n^2)。

实现代码:

</pre><pre name="code" class="java">public class BubbleSort{    public static void bubbleSort(int[] arr){       if(arr == null || arr.lenth==0)            return;        for(int i=0;i){            for(int j=arr.lenth-1;j>i;j--){                if(arr[j]){                    swap(arr,j-1,j);                 }             }         }    }    public static void swap(int[] arr,int i,int j){        int temp=arr[i];        arr[i]=arr[j];        arr[j]=temp;    }}

原文出处:http://blog.jobbole.com/100042/

0 0
原创粉丝点击