📄 b_search.java
字号:
/* =============== Program Description =============== */
/* 程序名称: b_search.c */
/* 程序目的: 运用非递归方式设计折半查找法的程序 */
/* Written By Kuo-Yu Huang. (WANT Studio.) */
/* =================================================== */
#define Max 20
int Data[Max] = { 12, 16, 19, 22, 25,
32, 39, 48, 55, 57,
58, 63, 68, 69, 70,
78, 84, 88, 90, 97}; /* 数据数组 */
int Counter = 1; /* 计数器 */
/* --------------------------------------------------- */
/* 折半查找法 */
/* --------------------------------------------------- */
int Binary_Search(int Key)
{
int Left; /* 左边界变量 */
int Right; /* 右边界变量 */
int Middle; /* 中位数变量 */
Left = 0;
Right = Max - 1;
while ( Left <= Right )
{
Middle = ( Left + Right ) / 2;
if ( Key < Data[Middle] ) /* 欲查找值较小 */
Right = Middle - 1; /* 查找前半段 */
else if ( Key > Data[Middle] ) /* 欲查找值较大 */
Left = Middle + 1; /* 查找后半段 */
else if ( Key == Data[Middle] ) /* 查找到数据 */
{
printf ("Data[%d] = %d\n",Middle,Data[Middle]);
return 1;
}
Counter++;
}
return 0;
}
/* --------------------------------------------------- */
/* 主程序 */
/* --------------------------------------------------- */
void main ()
{
int KeyValue; /* 欲查找数据变量 */
printf("Please enter your key value : ");
scanf("%d",&KeyValue);
if ( Binary_Search(KeyValue) )
printf("Search Time = %d\n",Counter); /* 输出查找次数 */
else
printf("No Found!!\n"); /* 输出没有找到数据 */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -