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

2021-09-02 11:01:38 字數 772 閱讀 5740

1,直接插入排序

(1)演算法思想

每趟將乙個待排序的元素作為關鍵字,按照起關鍵字值的大小插入到已經排好的部分序列的適當位置,直到插入完成。

比如說遞增順序排列:

初始序列:(48)36,68,72,12,02

第1趟 (36,48)68,72,12,02

第2趟 (36,48,68)72,12,02

第3趟 (36,48,68,72)12,02

第4趟 (12,36,48,68,72)02

第5趟 (02,12,36,48,68,72)

排序結果: (02,12,36,48,68,72)

(2)**如下

void  insersort();

for(int i=1;i=0&&a[j]>key)

a[j+1]=key;//找到插入位置,將key中的元素插入

}

2,氣泡排序

(1)演算法思想

首先第乙個記錄和第二個記錄比,如果第乙個大,則而這交換,否則不交換;然後第二個記錄和第三個記錄比,同上。

最終最大的被交換到最後,一趟氣泡排序完成

上杰寶:

(2)**如下

void bubblesort(int a)

}if(flag==0)

} }

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

繼續快速排序,簡單選擇排序和堆排序 一,快速排序 演算法思想 a,先從乙個數列中取出乙個數作為基數 b,分割槽過程,將比這個數大的放在右邊,小於等於這個數的放到左邊 c,再對左右區間重複第二步,直到各個區間只剩乙個數 2,void quicksort ints,int l,int r if i 1,...

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

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

資料結構 常見的7種比較排序演算法1

直接插入排序 insert sort 1 演算法描述 該演算法是一種簡單直觀的是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上只需用到o 1 的額外空間的排序,因而在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位為最新元素提供插入空間。2 步...