二分查詢 快速排序演算法 插入排序

2022-03-15 02:28:32 字數 805 閱讀 4228

1

/**********二分查詢*****************/2

int half_find(int *num,int size, inta)3

18return

false;//

沒找到19}20

/**********快速排序演算法****************

*/21

void quicksort(char s,int low,int

high)

2234

35 swap(s,last,low);//

基準元與界限交換,這樣的話,基準元兩邊就是一邊大於,一邊小於;

36 quicksort(s,low,last-1); //

對左區間遞迴排序

37 quicksort(s,last+1,high);//

對右區間遞迴排序38}

39}40/*

交換陣列中的兩個元素

*/41

void swap(char s,int i,int

j)42

1

/**********插入排序*****************/2

int insert_sort(int *num,int

size)311

if(i!=j)//

相等則位置不用交換

1218 num[j] = count;//

插入19}20

}21 }

二分查詢插入排序

採用二分查詢法,找到需要插入的index,以此改進傳統的插入排序方法,如下 include include include using namespace std const int num 20000 template void initarr vector arr template void p...

氣泡排序,選擇排序,插入排序,快速排序,二分查詢

氣泡排序 相鄰比較 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。選擇排序 找最小...

排序演算法 二分排序(插入排序 二分查詢)

插入排序就是一直向後讀,第乙個數,加入前面已經有序的一串數里。而插入排序是笨笨的乙個個向前找的,可以優化一下,用二分查詢找到合適的位置。插入排序 void insertsort2 int a,int n 所以只需要理解一下二分查詢就可以了 比如乙個串數,已經有序 分成對等 盡量 兩塊 注意3個數 第...