分析:

这是一个二分查找算法,要在有序的数组r中查找key,如果找到了就返回它在数组中的位置i,否则返回0。

主函数程序源代码:

int main() { sqlist r[10]; int i, n, key, pos; printf("请输入元素个数:"); scanf("%d", &n); printf("请输入%d个元素的值:\n", n); for (i = 1; i <= n; i++) { scanf("%d", &r[i].key); } printf("请输入要查找的元素值:"); scanf("%d", &key); pos = BinSearch(r, key, n); if (pos) { printf("元素%d在数组中的位置是%d\n", key, pos); } else { printf("元素%d不在数组中\n", key); } return 0; }

int BinSearch sqlist r int key int n low  1; high  n; find  0; while low ≤ high and not find mid  low + high 2 ; if key rmidkey high  mid - 1; else if key rmidkey low  mid + 1; else i

原文地址: https://www.cveoy.top/t/topic/eJHU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录