补昨天忘记发的博客,之前说二分法在在数组中查找某个数适用于顺序排序的数组进行二分法查找,如果数组中的数是混乱的情况下想用二分法进行查找可以先进行数组排序,下面补全数组排序代码:
int main()
{
int arr[] = {8,9,7,6,5,4,3,2,1,0};
int i,j,cont,n;
int right = sizeof(arr)/sizeof(arr[0]) - 1;
int left = 0;
scanf("%d",&n);
while (left<right)
{
int left = 0;
for (i=1;i<=right;i++)
{
if (arr[left]>arr[i])
{
cont = arr[i];
arr[i] = arr[left];
arr[left] = cont;
left++;
}
else
{
left++;
}
}
right--;
}
printf("%d\n",arr[n]);//检验是否合理
}
总结
数组中的数据不一定是顺序的,在某些特定的情况下可能需要对数组中的数据进行排序,来简化数组。