直接上**
1.最簡單的氣泡排序
public static void bubblesort(int arr)
}system.out.println(arrays.tostring(arr));
}}
2.插入排序
public static void insertsort(int arr)
}system.out.println(arrays.tostring(arr));
}}
3.選擇排序
public static void selectsort(int arr)
}if(index != i)
}}
4.快速排序
private static void quicksort(int arr, int low, int high)
}private static int getindex(int arr, int low, int high)
// 如果隊尾元素小於tmp了,需要將其賦值給low
arr[low] = arr[high];
// 當隊首元素小於等於tmp時,向前挪動low指標
while (low < high && arr[low] <= tmp)
// 當隊首元素大於tmp時,需要將其賦值給high
arr[high] = arr[low];
}// 跳出迴圈時low和high相等,此時的low或high就是tmp的正確索引位置
// 由原理部分可以很清楚的知道low位置的值並不是tmp,所以需要將tmp賦值給arr[low]
arr[low] = tmp;
return low; // 返回tmp的正確位置
}
排序不穩定性通俗的講有兩個相同的數a和b,在排序之前a在b的前面,而經過排序之後,b跑到了a的前面,對於這種情況的發生,我們管他叫做排序的不穩定性,而快速排序在對存在相同數進行排序時就有可能發生這種情況。冒泡演算法是穩定的,但是如果將 if(arr[j] > arr[j+1])變成 if(arr[j] >= arr[j+1])就會變成不穩定的。 php四大排序之氣泡排序
一 氣泡排序 原理 對一組資料,比較相鄰資料的大小,將值小資料在前面,值大的資料放在後面。以下都是公升序排列,即從小到大排列 舉例說明 arr array 6,3,8,2,9,1 arr 有6個資料,按照兩兩比較大小如下,注意 比較輪數 和 每輪比較次數 第一輪排序 第一次比較 6和3比較 結果 3...
js 常用的四大排序
在一排數中,從前往後對相鄰的兩個輸依次比較和調整,讓較大的數往下沉,較小的數往前冒。第乙個和第二個比較,如果後面的大於前面的則換第二個和第三個比較。for var i 1 i arr.length i 在一排數中,第乙個和第二個比較,若後面的比前面小則交換下標,用最小的和後面的比較,若後面的大於前面...
四大排序演算法之GGBond版
1.氣泡排序 2.選擇排序 3.插入排序 4.快速排序 總結上了大學後,發現排序演算法隨處可見,只要是考c語言的,總會讓你寫幾個排序演算法。為了加深我的記憶以及對排序演算法的理解,我整理了4種最容易理解的排序演算法 個人理解 排序演算法就是為任意長度的陣列由小到大排序 或者由大到小 的一種方法。交換...