#include<stdio.h>
int main()
{
int arr[] = { 8, 5, 95, 32, 78, 51, 3, 4, 45 };
int m;
int ret = sizeof(arr) / sizeof(arr[0]);
int right = ret - 1;
//printf("%d", ret);
for (int i = 0; i < ret - 1; i++)
{
for (int j = right; j > i; j--)
{
if (arr[j] < arr[j - 1])
{
int t = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = t;
}
}
}
for (int i = 0; i < ret; i++)
printf("%d ", arr[i]);
printf("\n");
int left = 0;
int mid = right / 2;
m = 51;
while(left<right)
{
if (m < arr[mid])
{
right = mid;
mid = (right + left) / 2;
//记得检查
}
else if (m > arr[mid])
{
left = mid;
mid = (right + left) / 2;
}
else if (m == arr[mid])
{
printf("%d在第%d位\n", m, mid+1);
break;
}
}
return 0;
}
7.10练习