排序演算法 選擇法,冒泡法和快速排序演算法

2021-09-25 22:31:51 字數 1726 閱讀 9206

這裡介紹三種排序演算法:選擇法,冒泡法和快速排序演算法。

選擇法和冒泡法是最簡單的兩種排序演算法,易於編寫,但是在處理大量資料時效率不高(在處理少量資料時,所有演算法的效率都差不多)

快速排序演算法是目前效率最高的排序演算法,但是編寫較為麻煩。快速排序的平均時間複雜度為o(nlogn),在原陣列有序的情況下會退化為o(n^2)

直接上三個排序演算法的**(c實現):

void selectsort(int* ar, int n)//選擇法

}}

void bubblesort(int* ar, int n)//冒泡法

}}

void quicksort(int* ar, int left, int right) //快速排序

ar[p] = pivot; //最後把樞軸放在樞軸位置

quicksort(ar, left, q - 1); //遞迴處理左區間

quicksort(ar, p + 1, right);//遞迴處理右區間

}

最後給出應用例項的完整原始碼(c++實現):

sort.h //標頭檔案

/*sort.h*/

void selectsort(int* ar, int n);

void bubblesort(int* ar, int n);

void quicksort(int* ar, int left, int right);

sort.cpp //排序演算法檔案

/*sort.cpp*/

void selectsort(int* ar, int n)//選擇法

}}void bubblesort(int* ar, int n)//冒泡法

}}void quicksort(int* ar, int left, int right) //快速排序

ar[p] = pivot; //最後把樞軸放在樞軸位置

quicksort(ar, left, q - 1); //遞迴處理左區間

quicksort(ar, p + 1, right);//遞迴處理右區間

}

main.cpp //主函式檔案

JAVA中冒泡法排序和選擇法排序

首先,我們先說下冒泡法 以公升序為例,既 1,2,3,4,5這個順序 其原理就是相鄰兩個數相比,如 a i 與a i 1 比較,如果前面的比後面大,則這兩個數交換,把大的數交換給a i 1 小的數交換給a i 下次比較就是a i 1 與 a i 2 繼續上一次的操作,如果後面的大於前面的,則兩個數交...

冒泡法 選擇法 插入法排序

includevoid inputarray int a,int n 輸入陣列元素 void outputarray int a,int n 輸出陣列元素 void sort01 int a,int n 冒泡法排序 void sort02 int a,int n 選擇法排序 void sort03 ...

選擇法排序,又稱為氣泡排序

在乙個未知元素個數的陣列裡面放入無序的數,再將它有序排列 比如說這個 int initial array 這裡的陣列內元素的個數統計演算法為 num initial array sizeof initial array sizeof initial array 0 這裡的 sizeof initia...