最常用的四大排序演算法(冒泡 插入 選擇 快速)

2021-09-19 07:30:46 字數 1151 閱讀 6980

直接上**

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種最容易理解的排序演算法 個人理解 排序演算法就是為任意長度的陣列由小到大排序 或者由大到小 的一種方法。交換...