冒泡排序 Bubble Sort
最簡單的排序方法是冒泡排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的“氣泡”,較小的元素比較輕,從而要往上浮。在冒泡排序算法中我們要對這個“氣泡”序列處理若幹遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻註意兩個相鄰的元素的順序是否正確。如果發現兩個相鄰元素的順序不對,即“輕”的元素在下面,就交換它們的位置。顯然,處理一遍之後,“最輕”的元素就浮到瞭最高位置;處理二遍之後,“次輕”的元素就浮到瞭次高位置。在作第二遍處理時,由於最高位置上的元素已是“最輕”元素,所以不必檢查。一般地,第i遍處理時,不必檢查第i高位置以上的元素,因為經過前面i-1遍的處理,它們已正確地排好序。這個算法可實現如下。
算法如下:
/**
*冒泡排序
*@paramsrc待排序數組
*/
void doBubbleSort(int[] src)
{
int len=src.length;
for(int i=0;i<len;i )
{
for(int j=i 1;j<len;j )
{
int temp;
if(src[i]>src[j])
{
temp=src[j];
src[j]=src[i];
src[i]=temp;
}
}
printResult(i,src);
}
}