常用的一些排序演算法(C 實現)

2021-06-13 11:35:21 字數 993 閱讀 6280

常用的排序演算法有氣泡排序,選擇排序,插入排序,歸併排序、希爾排序,堆排序等

1、冒泡

氣泡排序就是像旗袍一樣,最大的值逐漸上浮,我的實現方法是採用遞迴的,當然也可以不用遞迴

void bubblesort2(int array,int length)

if(index!=length-1)

bubblesort2(array,length-1);

}

2,插入排序:插入排序將整個序列分成兩個部分,有序區和無序區,我們要做的工作就是依次地把無序區的值插入到有序區中去

當然首先先從第乙個元素開始,假設第乙個元素是有序區

void insertsort(int array,int length)

array[j+1]=temp;

}}

3、選擇排序

選擇排序的思想是選取無序區的最大值放在有序區的末尾

void selectionsort(int array,int length)

array[j+gap]=temp;

}gap/=2;

}}

5,歸併排序,歸併排序就是對兩個已經排好序的序列合併排序,以陣列為例,首先把陣列分成左右兩個已經排好序的陣列,會後進行歸併

//merge作為mergesort的輔助函式

void merge(int a, int p, int q, int r)//p-r是乙個序列,r到q是乙個序列

{ int n1=r-p+1, n2=q-r;

//int l[n1],r[n2];

int* l = new int[n1];

int* r = new int[n2];

//下面兩個for迴圈是分成左右兩個陣列,然後歸併

for(int i=0;i

c 中一些常用排序演算法的實現

include using namespace std intmain for int i 0 i n i for int i 0 i n i cout endl include include using namespace std intmain for int i 0 i n i swap a...

一些常用演算法 排序

1.冒泡法 1 比較第乙個數和第二個數,若為逆序a 0 a 1 則交換,以此類推 直到第n 1個數和第n個數比較完為止 第一次氣泡排序,結果最大的數被安置在最後乙個元素位置上。2 對前n 1個數進行第二次氣泡排序,結果使次大的數被安置在n 1的位置上。3 重複上述過程,經過n 1次氣泡排序後,排序結...

一些常用的排序演算法

排序演算法 插入排序 直接插入排序 折半排序 希爾排序 交換排序 氣泡排序 快速排序 選擇排序 簡單選擇排序 堆排序 歸併排序 分配排序 箱排序 基數排序 author kevin public class sorting else break 折半排序,降序 在乙個有序的子檔案中,用折半查詢方法查...