資料結構之常見的排序演算法2

2021-07-02 18:52:10 字數 676 閱讀 2578

繼續快速排序,簡單選擇排序和堆排序

一,快速排序

演算法思想  

a,先從乙個數列中取出乙個數作為基數

b,分割槽過程,將比這個數大的放在右邊,小於等於這個數的放到左邊

c,再對左右區間重複第二步,直到各個區間只剩乙個數

2,**

void quicksort(ints,int l,int r)

if(i

1,演算法思想

選擇類排序的主要動作是「選擇」,簡單選擇排序採用最簡單的選擇方式,從頭至尾順序掃瞄排列,找出最小的乙個記錄,和第乙個記錄交換,

接著從剩下的記錄中繼續這種選擇和交換,最終使序列有序。

void selectsort(int r,int n)

temp=r[i];

r[i]=r[k];

r[k]=temp;

}} }

三,堆排序

演算法思想還是上杰寶吧...

**如下咯:

/*調整為最小堆*/

void sift(int r,int low,int high)

} }

資料結構之常見的排序演算法1

1,直接插入排序 1 演算法思想 每趟將乙個待排序的元素作為關鍵字,按照起關鍵字值的大小插入到已經排好的部分序列的適當位置,直到插入完成。比如說遞增順序排列 初始序列 48 36,68,72,12,02 第1趟 36,48 68,72,12,02 第2趟 36,48,68 72,12,02 第3趟 ...

資料結構 幾種常見的排序演算法

下圖是我掌握的一些排序演算法,我將他們做了分類,當然,排序演算法遠不止這些。a 演算法思想 假設第乙個數是有序的,那麼把後面的數拿出來插入到這個有序數的合適位置,假設是公升序 比第乙個數小則向後移動第乙個數,將數插入到第乙個數的前面 插入後有序區間擴大為兩個,依次向後,不斷拿出新的數插入到有序區間,...

資料結構之排序演算法

1.插入排序 直接插入排序 include void insertsort int unsort int length unsort j temp int main void insertsort num,7 int i 0 for i i 7 i return 0 折半插入排序 include v...