二分查找
/* 先定数组长度,无法获取一个Int数组的真实长度 如 int a[20]={1,2} 实际长度是多少呢? sizeof(a)/sizeof(a[0])是算不出来的!只能自己写函数了! 注意,二分查找是查找一个有序的序列,这里的演示的有序,有两种 1、bindSearch函数自身提供的数组(索引器)的下标有序,废话,数组本来就有序。 2、被查找的数据的索引也要有序,什么意思?看一个json结构 [ { id:1,name:mike }, { id:2,name:rock }, ] 所以这里的id必须排序 */ void bindSearch() { /* low ---- mid------higt */ int low = 0, higt, mid = 0, len, a[] = { 1,3,4,12,13,15 }, key=1; len = sizeof(a) / sizeof(a[0]) - 1; higt = len-1; if (len <= 0) { printf("折半查找!至少两个数据嘛!\n", len, mid); return; } while (low <= higt) { mid = (low + higt) / 2 ; printf("当前数组长度=>%d,mid=>%d\n", len, mid); if ( a[mid] == key ) { printf("已经找到\n"); return; }else if( a[mid] < key ){ low = mid + 1; }else if (a[mid] > key) {//大于key higt = mid - 1; }else { printf("抱歉怕是出了一些奇怪的问题!\n"); return; } } printf("抱歉啥也没有!\n"); }
Rust编程语言群 1036955113
java新手自学群 626070845
java/springboot/hadoop/JVM 群 4915800
Hadoop/mongodb(搭建/开发/运维)Q群481975850
GOLang Q1群:6848027
GOLang Q2群:450509103
GOLang Q3群:436173132
GOLang Q4群:141984758
GOLang Q5群:215535604
C/C++/QT群 1414577
单片机嵌入式/电子电路入门群群 306312845
MUD/LIB/交流群 391486684
Electron/koa/Nodejs/express 214737701
大前端群vue/js/ts 165150391
操作系统研发群:15375777
汇编/辅助/破解新手群:755783453
大数据 elasticsearch 群 481975850
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
java新手自学群 626070845
java/springboot/hadoop/JVM 群 4915800
Hadoop/mongodb(搭建/开发/运维)Q群481975850
GOLang Q1群:6848027
GOLang Q2群:450509103
GOLang Q3群:436173132
GOLang Q4群:141984758
GOLang Q5群:215535604
C/C++/QT群 1414577
单片机嵌入式/电子电路入门群群 306312845
MUD/LIB/交流群 391486684
Electron/koa/Nodejs/express 214737701
大前端群vue/js/ts 165150391
操作系统研发群:15375777
汇编/辅助/破解新手群:755783453
大数据 elasticsearch 群 481975850
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。