首页 > 其他分享 >折半查找

折半查找

时间:2023-04-25 21:45:14浏览次数:31  
标签:折半 arr cout int else high 查找 low

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int arr[10] = { 1,56,33,69,84,2,30,99,512,321 };
int low = 0, high = 9;
sort(arr, arr + 10);
int i, j, k;
cout << "此时数据为:" << endl;
for (i = 0; i < 10; i++)
cout << arr[i] << " ";
cout << endl;
int n;
cin >> n;
for (i = (low + high) / 2; low < high; i = (low + high) / 2)
{
if(arr[i] > n)
high = i - 1;
else if(arr[i] < n)
low = i + 1;
else
break;
}
if(n != arr[i])
cout << "未找到!" << endl;
else
cout << "当前下标为:" << i;
return 0;
}

 

 

标签:折半,arr,cout,int,else,high,查找,low
From: https://www.cnblogs.com/atrue/p/17354005.html

相关文章

  • 折半查找
    问题描述:N个有序数数列已放在一维数组中,利用二分查找法找整数m在数组中的位置,若找到,则输出其下标值;反之,则输出“Notbefound!".完整程序:#include<stdio.h>#defineN10main(){inti,a[N]={-3,4,7,9,13,45,67,89,100,180},low=0,high=N-1,mid,k=-1,m;printf{"a数组中的数据......
  • 折半查找(二分查找法)
    问题描述:N个有序整数数列已放在一维数组中,利用二分查找法查找整数m在数组中的位置。若找到,则输出其下标值;反之,则输出“Notbefound!”。代码:#include<iostream>#defineN10intmain(){ intk,i0=-1,a[N]={3,12,30,34,45,57,66,78,89,100}; intmid=(N-1)/......
  • 1.9 折半查找
    #include<stdio.h>#defineN10intmain(){inti,a[N]={-3,4,7,9,13,45,67,89,100,180},low=0,high=N-1,mid,k=-1,m;printf("a数组种的数据如下:\n");for(i=0;i<=N;i++)printf("%d",a[i]);printf("\n");......
  • 查找指定字符串在某个字符串中的出现次数
    c语言代码实现:此处)折叠或打开1.#include<stdio.h>2.<string.h>3.intsearchnum(char*str,char*pattern)4.{5.if(str==NULL)6.;7.*pos=NULL;8.intcount=0;9.while((pos=strstr(str,pattern))!=NULL)10.{11.++;1......
  • 信创操作系统--麒麟Kylin桌面版(项目四 文件与目录管理:文件浏览、管理、查找、共享等)
    浏览目录和文件单击任务栏中的【文件管理器图标】即可打开文件管理器,也可单击桌面的【计算机】图标也可进入文件管理器,进入之后即可浏览与查看,如图1-1所示,在【计算机】的页面中,可以单击【本地分区】、【网上邻居】下的相关选项或单击左侧的文件菜单栏,可以进入相对应的文件夹。图1-1......
  • vim中实现全文查找替换确认操作
    我们很多时候会需要某个字符串在文章中某些位置出现时被替换,而其它位置不被替换的有选择的操作,这就需要用户来进行确认::%s/aaa/bbb/g#替换当前文本所有行的aaa为bbb#在命令后面加上一个字母c就可以实现,即::%s/aaa/bbb/gc#顾名思意,c是confirm的缩写  效果: ......
  • 如何在Linux中查找一个文件
    导读对于新手而言,在Linux中使用命令行可能会非常不方便。没有图形界面,很难在不同文件夹间浏览,找到需要的文件。本篇教程中,我会展示如何在Linux中查找特定的文件。第一步要做的是通过SSH连接到你的Linux,在Linux中查找文件有两种方法。一种是使用 find 命令find命令使......
  • 数组的复制、反转、线性查找、二分查找
    publicclassArrayTest2{ publicstaticvoidmain(String[]args){ String[]arr=newString[]{"JJ","DD","MM","BB","GG","AA"}; //数组的复制(区别于数组变量的赋值:arr1=arr) String[]arr1=new......
  • #yyds干货盘点# LeetCode程序员面试金典:在排序数组中查找元素的第一个和最后一个位置
    题目:给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回 [-1,-1]。你必须设计并实现时间复杂度为 O(logn) 的算法解决此问题。 示例1:输入:nums=[5,7,7,8,8,10],target=......
  • 查找元素索引重复
    publicclassTest4_2{publicstaticvoidmain(String[]args){int[]arr={11,33,44,55,11,11,};int[]result=getIndex(11,arr);if(result.length==0){System.out.println("抱歉,你输入的元素有误!");......