gpt4 book ai didi

查找算法之二分查找的C++实现

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 44 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章查找算法之二分查找的C++实现由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

二分查找 。

二分查找算法,说白了就是在有序的数组里面给予一个存在数组里面的值key,然后将其先和数组中间的比较,如果key大于中间值,进行下一次mid后面的比较,直到找到相等的,就可以得到它的位置.

前提:线性表中的记录必须是关键字有序(通常从小到大),线性表必须采用顺序存储。 基本思想:取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关键字,则在中间记录的左半区继续查找;否则,在右半区查找。不断重复,直到查找成功或查找失败为止.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include<iostream>
#include<stdio.h>
#define N 10
using namespace std;
int main()
{
int a[N],front,end,mid,i,x;
cout<< "请输入已经排好的序列10个:" <<endl;
for (i=0;i<N;i++)
{
cin>>a[i];
}
cout<< "请输入要查询的数字x" <<endl;
cin>>x;
front=0;
end=N-1;
mid=(front+end)/2;
while (front<end&&a[mid]!=x)
{
if (a[mid]>x) end=mid-1;
if (a[mid]<x) front=mid+1;
mid=(front+end)/2;
  }
  if (a[mid]!=x)
  {
  printf ( "找不到该数字!" );
}
else
{
printf ( "找到了,该数字在第%d位置" ,mid+1);
  }
return 0;
}

后记:

查找和排序都是在程序设计中经常用到的算法,查找相对而言较为简单,不外乎顺序查找、二分查找、哈希表查找和二叉排序树查找。 在面试的时候,不管是用循环还是用递归,面试官都期待应聘者能够信手拈来写出完整的二分查找代码,否则可能连继续面试的兴趣都没有.

总结 。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我的支持。如果你想了解更多相关内容请查看下面相关链接 。

原文链接:https://blog.csdn.net/qq_39486027/article/details/79647428 。

最后此篇关于查找算法之二分查找的C++实现的文章就讲到这里了,如果你想了解更多关于查找算法之二分查找的C++实现的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com