java冒泡排序
冒泡排序的原理:他的基本原理就是和相鄰的元素值進行比較(這裏特指和數組比較),如果滿足條件就交換元素值,把較小的元素和較大的元素交換,這樣小的元素就像小氣泡一樣從底部上升到頂部,大的元素就像大氣泡一樣從頂部下沈到底部。
1.適宜人群:有一定Java SE基礎的同學,明白Java的數據類型,數組的定義、初始化以及常用數組的方法,還有Java的循環操作。
2.前期準備:最好有一個開發工具比如說:eclipse或者myeclipse都可以,當然你使用DOS系統進行編譯運行都可以,只不過改bug會麻煩一點。
3.算法實現:
public class BubbleSort{
public static void main(String[] args){
//首先創建一個無序的數組。
int[] array = {100,120,530,1,2,48,26};//int[] array和int array[]都可以,但是推薦使用前者
//創建冒泡排序類的對象
BubbleSort arraySort = new BubbleSort();
//調用排序方法將數組排序
arraySort.sort(array);
}
public void sort(int[] array){
for(int i= 1;i<array.length;i++)
{
//開始比較相鄰元素的值,大元素下沈
for(int j=0;j<array.length-i;j++){
if(array[j]>array[j+1]){
//滿足條件就交換兩個元素的值
int temp = array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
showArray(array);
}
//顯示數組中的所有元素
public void showArray(int[] array){
//這裏使用的一種不常見的foreach循環,不習慣這種寫法的可以用for循環
/*
for(int i=0;i<array.length;i++)
{
System.out.print(array[i]+" ");
}
*/
for(int i:array)
{
System.out.print(i+" ");
}
}
}
4.冒泡排序的優缺點:
優點:比較簡單,空間復雜度較低,是穩定的。優點:
缺點:時間復雜度太高,效率不好。
5.後記:冒泡排序是排序算法的第一課,也是個人認為最容易入手的一個排序算法,後續我將為大家介紹更多實用但更復雜的排序算法
java冒泡排序