C语言:顺序查找和二分查找
来源:互联网 发布:php网站源码带数据库 编辑:程序博客网 时间:2024/06/11 17:52
任务代码:
顺序查找元素:
#include <stdio.h>#define SIZE 10int main(){ int a[SIZE]={1,2,3,4,5,6,7,8,9,10}; int index=-1;//如果末尾没有找到,默认函数为=-1 int i,number; printf("请输入要查找的数据:"); scanf("%d",&number); //顺序查找 for(i=0;i<SIZE;i++) { if(a[i]==number) { index=i; break; } } //输出结果 if(index>0) { printf("找到了这个数%d,位于数组的第%d个!",number,index+1); } else { printf("没有找到数字!"); } return 0;}
#include <stdio.h>#define SIZE 10int main(){ int a[SIZE]={1,2,3,4,5,6,7,8,9,10}; int index=-1;//如果末尾没有找到,默认函数为=-1 int i,key; printf("请输入要查找的数据:"); scanf("%d",&key); //二分查找 /*二分查找的前提是你所查找的数字必须已经是会有序数组!!!!*/ int low,high,mid; low=0;//代表数组第一个数 high=SIZE-1;//代表数组最后一个数 while(low<=high)//在没有查找到最后一个数的情况下继续执行 { mid=(low+high)/2;//设置mid为数组中间那个数 if(a[mid]==key)//恰好等于的情况 { index=mid; break; } else if(a[mid]>key) { high=mid-1;//将mid赋值给高的那一边的下一位 } else { low=mid+1;//将mid 赋值给低的那一边的下一位 } } //输出结果 if(index>0) { printf("找到了这个数%d,位于数组的第%d个!",key,index+1); } else { printf("没有找到数字!"); } return 0;}
执行情况:
知识总结:
!!!!局限性是,二分查找必须针对有序的,无重复数列!!!!在使用的时候必须先将数列有序化,如果要技术出现次数必须使用其他算法!
心得体会;
阅读全文
0 0
- C语言:顺序查找和二分查找
- 顺序查找和二分查找
- 二分查找和顺序查找
- 顺序查找和二分查找
- 顺序查找和二分查找
- 顺序查找和二分查找
- C语言实现数组二分查找与顺序查找
- 顺序表查找(顺序查找、二分查找) C语言实现
- C语言:二分查找
- 【c语言】二分查找
- C语言 二分查找
- 二分查找 C语言
- 二分查找(C语言)
- C语言二分查找
- 二分查找C语言
- 顺序查找 C语言
- C语言 冒泡排序和二分查找
- C语言实现的线性查找和二分查找
- js网页简易计算器
- 如何用Servlet+JDBC+MySQL+Jsp完成一个登陆注册界面
- Java 类加载时机和机制
- 自动化-设置web窗口大小
- android6.0敏感权限动态申请
- C语言:顺序查找和二分查找
- CAD编辑指南2:PDF:转DWG的常见方法
- TimeUnit用法
- 算法训练 8-2求完数
- 驱动开发文章
- W
- android调试日志不输出:AEE some logs have been lost
- 内联的优缺点
- 字符串中的空格替换