常見的演算法題:排序
排序分為很多種類,最常見的有氣泡排序法,簡單排序法,直接插入排序法等幾種排序法;
氣泡排序法,是排序中最簡單和最常見的排序法。
氣泡排序法是將相鄰的元素兩兩進行比對,將逆序的元素進行交換就行。
時間複雜度:o(n^2)
**如下:
publicclass
bubblesort ;
int arr = ;
system.out.println(arrays.tostring(arr));
bubblesort01(arr);
}//通用,用於資料交換
public
static
void swap(int arr , int i ,int
j)
//氣泡排序法:方法一
public
static
void bubblesort01(int
arr)
}system.out.println(arrays.tostring(arr));}}
//氣泡排序法:方法二
public
static
void bubblesort02(int
arr)
}system.out.println(arrays.tostring(arr));}}
}
以第二種冒泡方法遍歷為例:第一輪排序
第二輪排序
第三輪排序
說明:
設定標識flag,在每一輪遍歷之前,將值設定成false;
如果進行了交換,設定為true,如果沒有則不變(說明剩下的元素是有序的,不用進行排序);
如果flag為true,則再次進行遍歷,否則結束遍歷;
氣泡排序 氣泡排序法
冒泡法是一種簡單的排序方法,它的實現非常簡單。首先對n個專案進行掃瞄,比較相領兩個專案的大小,若發現違背大小次序則進行互換,由此可以使n個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...
排序 氣泡排序法
氣泡排序法,是最簡單的一種排序方法,從第乙個位置開始與相鄰位置比較,判斷是否需要交換位子。第一趟從第乙個位置開始,直到最後乙個位置,a n 1 確定最大 以公升序為例子 的數放在最後一位,a n 1 第二趟,繼續從第乙個位置開始,倒數第二位,a n 2 確定倒數第二大的數在倒數第二位a n 2 演算...
01 氣泡排序
已知一組無序資料a 1 a 2 a n 需將其按公升序排列。首先比較a 1 與a 2 的值,若a 1 大於a 2 則交換兩者的值,否則不變。再比較a 2 與a 3 的值,若a 2 大於a 3 則交換兩者的值,否則不變。再比較a 3 與a 4 以此類推,最後比較a n 1 與a n 的值。這樣處理一輪...