常見排序演算法

2021-08-14 05:45:23 字數 936 閱讀 9528

未完待續

1.氣泡排序

void bubble_sort(int a,int n)  //氣泡排序

}if(flag==0) //內層for迴圈全程無交換,所以陣列已有序

break;

}}

2.插入排序

void insert_sort(int a,int n)  //插入排序

a[j+1]=temp; //新牌落位

}}

3.折半插入排序

void binaryinsert_sort(int a,int n)  //折半插入排序

}

4.希爾排序

void shell_insert(int a,int n,int dk) //dk為增量插入排序 (希爾排序的一部分)

}void shell_sort(int a,int n,int dk,int k) //希爾排序

}if(flag==0) //內層for迴圈全程無交換,所以陣列已有序

break;

}}void insert_sort(int a,int n) //插入排序

a[j+1]=temp; //新牌落位

}}void binaryinsert_sort(int a,int n) //折半插入排序

}void shell_insert(int a,int n,int dk) //dk為增量插入排序 (希爾排序的一部分)

}void shell_sort(int a,int n,int dk,int k) //希爾排序

{ for(int i=0;i=pivot)

high--;

arr[low]=arr[high];

while(low

常見排序演算法

一.選擇排序 1.概念 每次從無序的子陣列裡面選擇最小的數,放在有序區的後面 既與無序區的首元素交換 不穩定排序 時間複雜度o n 2 輔助儲存o 1 2.實現 int selection sort int a,int len len為陣列元素個數 二.氣泡排序 1.概念 重複訪問數列n 1次,每次...

常見排序演算法

1 插入排序 直接插入排序,是一種最簡單的排序方法,它的基本操作是將乙個記錄插入到已排好序的有序表中,從而得到乙個新的 記錄數增1的有序表。初始 38 65 27 76 13 i 1 13 選13為監視哨並假設為乙個有序序列 i 2 13 38 待插入元素38 13 i 3 13 38 65 待插入...

常見排序演算法

排序演算法作為常用的基本演算法,今天就來總結一下各種經典排序演算法,這裡只貼出 對演算法的文字描述可以在課本或其它部落格上找到很多詳盡的敘述,這裡直接上 而不是常見演算法書上的偽 希望對正在努力學資料結構與演算法的朋友們有幫助 1 氣泡排序 void bubblesort t a,int n if ...