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個數 第...