#include int main()
, i, array_length, index, goal = 0;
array_length = sizeof(a)/sizeof(a[0]);
printf("%d\n", array_length);
qsort(a, 0, array_length - 1 );
for (i = 0; i < array_length; i++)
printf("%d ", a[i]);
printf("\n");
index = binary_search(a, 0, array_length - 1, goal);
if (index != -1)
printf("v[%d] = %d\n", index, a[index]);
else
printf("no find %d in array\n", goal);
return 0;
}/**/
void qsort(int v, int left, int right)
/**/
void swap(int v, int i, int j)
/**/
int binary_search(int v, int left, int right, int goal)
else if (v[mid] > goal) else if (v[mid] < goal)
}/*reference: <>*/
二分查詢程式演算法和快速排序
二分查詢程式演算法 int search int a,int x,int n return 1 快速排序 int first low int last high int key a first 用字表的第乙個記錄作為樞軸 while first last a first a last 將比第乙個小的...
二分查詢和快速排序
快排的中心思想,就是選取乙個元素通過一趟排序將比這個元素大的換到前面,把這個元素小的換到後面。然後在繼續進行排序。void sort int datas,int low,int high int first low int last high int key datas first while fi...
二分查詢和快速排序
二分查詢的基本思想 二分查詢就是給定乙個已經排序好的陣列,輸入你想查詢的數值,然後對陣列進行折半查詢,找到直接返回在陣列中的位置,否則返回 1。它充分利用了元素間的次序關係,採用分治策略,可在最壞的情況下用o log n 完成搜尋任務。具體實現 1 binarysearch函式傳入已經排序好的陣列 ...