📄 search_b.c
字号:
/* file name: search_b.c */
/* 折半查找 */
#include <stdio.h>
void main()
{
int data[11] = {0, 12, 23, 29, 38, 44, 57, 64, 75, 82, 98};
int i, l = 1, n = 10, m, cnt = 0, input, ok = 0;
printf("\n<< Binary search >>\n");
printf("\nSorted data: ");
for(i = 1; i < 11; i++)
printf("%d ", data[i]);
puts("");
printf("\nPlease enter a number from data: ");
scanf("%d", &input);
printf("\nSearch.....\n");
m = (l + n)/2; /*键值在第M笔*/
while(l <= n && ok == 0)
{
printf("\nData when searching %2d time(s) is %d !", ++cnt, data[m]);
if(data[m] > input) /*欲查找的数据小于键值,则数据在键值的前面 */
{
n = m - 1;
printf(" ---> Choice number is smaller than %d", data[m]);
}
else /*否则数据在键值的后面 */
if(data[m] < input)
{
l = m + 1;
printf(" ---> Choice number is bigger than %d", data[m]);
}
else
{
printf("\n\nFound, %d is the %dth record in data !", input, m);
ok = 1;
}
m = (l + n)/2;
}
if(ok == 0)
printf("\n\nSorry, %d not found !", input);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -