利用二分法从有序表中查找某个数值-C语言
来源:互联网 发布:淘宝店需要什么手续 编辑:程序博客网 时间:2024/06/06 05:10
/**二分法查找有序表(从小到大)中的某个值**/#include <stdio.h>#include <stdlib.h>int binary_search(int key, int *a, int n){ int i,low,high,mid,count=0; low = 0; high = n-1; while(low<high) //查找范围不为0时,进行循环 { count++;//记录查找次数 mid = (low + high)/2;//中间位置 if(key<a[mid])//key值小于中间值时 { high = mid - 1;//确定左子表范围 } else if(key>a[mid])//key值大于中间值时 { low = mid + 1;//确定右字表的范围 } else if(key == a[mid])//key值等于中间值时 { printf("查找成功!\n第%d次查找成功!\na[%d]=%d\n", count, mid, a[mid]); count1++; break; } } if (0==count1) { printf("查找失败!\n"); } return 0;}int main(){ int i,j,len,key=0; int *a; printf("请输入需要查找的序列元素的个数:\n"); scanf("%d", &len ); a = (int *)malloc(sizeof(int) * len); printf("请输入需要查找的序列:\n"); for(i=0;i<len;i++) { scanf("%d", &a[i]); } printf("请输入需要查找的数值:\n"); scanf("%d", &key); binary_search(key, a, 10); free(a); return 0;}
阅读全文
0 0
- 利用二分法从有序表中查找某个数值-C语言
- 二分法查找有序表中最接近的数值
- 利用二分法查找有序数组中某一元素
- 【C语言】二分法查找
- C语言二分法查找
- 从有序数组中查找某个值 low_bound
- 从有序数组中查找某个值(二分)
- leetcode 在有序矩阵中查找某个数,第k小数 (二分法)
- 二分法在有序数组中进行查找
- C语言的二分法查找
- 二分法查找(C语言实现)
- C语言实现二分法查找
- C语言二分法查找数组
- 二分法查找C语言实现
- 二分法查找有序数组
- 二分法查找有序数列
- 二分法查找有序数组
- 二分法查找有序数组
- markdown相关
- [LeetCode 解题报告]058. Length of Last Word
- mysql学习笔记
- Java面试2018常考题目汇总(一)
- 向量在另一个向量上的投影
- 利用二分法从有序表中查找某个数值-C语言
- input子系统事件处理层(evdev)的环形缓冲区
- trigger事件在点击的时候多次绑定问题
- php获取当前域名
- 餐饮店的厨房打印机如何连接wifi打印票据(教程)
- 百度云主机BCC挂载云盘CDS
- 学习java核心代码1
- 文章标题
- 正则表达式