二分法排序代码:
<span style="font-family:Microsoft YaHei;font-size:14px;">void QuickSort(int array[],int left,int right)
{
int last;
if (left>=right)
return;
int rand = (left+right)/2;
Swap(array, left, rand);
last = left;
for (int i = left + 1; i <= right; i++)
{
if (array[i] < array[left])
Swap(array, ++last, i);
}
Swap(array, left, last);
QuickSort(array, left, last - 1);
QuickSort(array, last + 1, right);
}
void Swap(int a[],int i,int j)
{
int temp;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}</span>
二分法查找代码:
<span style="font-family:Microsoft YaHei;font-size:14px;">int Binary_Search(int array[], int begin, int end, int x)
{
int low = begin, high = end, mid;
while (low <= high)
{
mid = low + (high - low)/2;
if(array[mid] == x)
return mid;
if (array[mid] < x)
low = mid + 1;
else
high = mid - 1;
}
return -1;
}</span>