小demo
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
int compasc(const void* a, const void* b)
{
return *((int*)a) - *((int*)b);
}
int main()
{
int a[] = { 23,77,89,24,87,66,7,45,58,89,128,23,13,133,45,46,64,6,46 };
qsort(a, sizeof(a) / sizeof(int), sizeof(int), compasc);
for (int i=0; i < 19; i++)
{
cout << "a[" << i << "]=" << a[i] << endl;
}
int low = 0;
int high = int(sizeof(a) / sizeof(int));
int target = 66;
while (low <= high)
{
int mid = (low + high) / 2;
if (a[mid] == target)
{
cout << "目标在" << "a[" << mid << "]" << endl;
break;
}
else if (a[mid] > target) high = mid - 1;
else low = mid + 1;
}
system("pause");
return EXIT_SUCCESS;
}