《Java实用教程(第5版)微课版》
ISBN 978-7-302-46425-9
p29
例子5

能判断用户输入的一个整数是否在已知的数组中。程序效果如下图:

输入整数,程序判断该整数是否在数组中
122
122不在数组中
import java.util.Scanner;
public class ChooseFind {public static void main(String[] args) {int start=0,end,middle;int a[]= {12,45,67,89,123,-45,67,456,-46,-56,-3,-5,5,6,88,999};int N=a.length;for(int i=0;i<N;i++) {   //选择法排序数组for(int j=i+1;j<N;j++) {if(a[j]<a[i]) {int t=a[j];a[j]=a[i];a[i]=t;}}}Scanner sc=new Scanner(System.in);System.out.println("输入整数,程序判断该整数是否在数组中:");int number=sc.nextInt();int count=0;end=N;middle=(start+end)/2;while(number!=a[middle]) {if(number>a[middle])start =middle;else if(number<a[middle])end=middle;middle=(start+end)/2;count++;if(count>N/2)break;}if(count>N/2)System.out.println(number+"不在数组中");elseSystem.out.println(number+"在数组中");}
}


使用选择排序和二分查找在数组中查找数据相关推荐

  1. 【02】Java进阶:09-冒泡排序、选择排序、二分查找、异常、异常的产生和处理、自定义异常、多线程

    day09[排序算法.异常.多线程基础] 今日内容 冒泡排序 选择排序 二分查找 异常处理 多线程基础 教学目标 能够理解冒泡排序的执行原理 能够理解选择排序的执行原理 能够理解二分查找的执行原理 能 ...

  2. LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置

    前言 国庆前最后一次打卡,国庆后继续开启,公众号bigsai回复进群欢迎加入打卡,如有帮助记得点赞收藏. 近期打卡记录: LeetCode 32最长有效括号(困难) (本周) LeetCode 30串 ...

  3. 挑战程序设计竞赛部分题目选择排序、二分查找找出下标、深度优先算法、求三角形max周长、蚂蚁算法、操作excel

    首先提供帮助类 可能这个类还需要更新 .求最大值.求最小值.选择排序.二分查找找出下标.二分查找排好序列里面是否有那个值 public class Util {//求最大值public static ...

  4. 剑指Offer - 面试题53 - I. 在排序数组中查找数字 I(二分查找的变形版本)

    1. 题目 统计一个数字在排序数组中出现的次数. 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2示例 2: 输入: nums = [5,7,7,8, ...

  5. [算法]LeetCode 专题 -- 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置

    LeetCode 专题 – 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置 难度:中等 题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值 ...

  6. LeetCode4_编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ““。(解决方案:横向扫描、 纵向扫描 、分治 二分查找 、秀儿操作之排序比较头尾)

    题目 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow&q ...

  7. LeetCode-剑指 Offer 53 - I. 在排序数组中查找数字 I

    剑指 Offer 53 - I. 在排序数组中查找数字 I 思路一:二分单边 + 线性扫描 先用一次二分查找找到边界,再再边界里面寻找目标值 class Solution {public:int se ...

  8. 去掉数组最后一个元素_leetcode 34. 在排序数组中查找元素的第一个和最后一个位置每天刷一道leetcode算法系列!...

    作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...

  9. 【LeetCode】剑指 Offer 53 - I. 在排序数组中查找数字 I

    [LeetCode]剑指 Offer 53 - I. 在排序数组中查找数字 I 文章目录 [LeetCode]剑指 Offer 53 - I. 在排序数组中查找数字 I 一.二分法 总结 一.二分法 ...

最新文章

  1. 什么是VMware vSphere
  2. Visual Studio Code 配置 Markdown
  3. 实战SSM_O2O商铺_22【商铺列表】Service层开发
  4. 自由自在公司意式手工冰淇淋以“怪“取胜
  5. 8位数控分频器的设计_8位数控分频器
  6. 找斐波那契数列中的第N个数——递归与函数自调用算法
  7. 英语口语 week11 Friday
  8. java 多态判断非空_Java核心技术(四):继承
  9. oracle查询字段嵌套子查询,Oracle通过嵌套子查询连接
  10. 智能优化算法:金枪鱼群优化算法-附代码
  11. 管理感悟:产品功能比别人差,所以不能用?
  12. 多彩泡泡屏保特效(JAVA版)
  13. SubstanceDesigner制作PBR材质制作并且同步到Unity小尝试
  14. Html怎么判断ie5,css怎样判断IE浏览器?
  15. 相关性扫描匹配CSM与分支限界加速
  16. Linux-ARM开发
  17. 2008 R2 Remote Desktop Server driver RDPDR.sys cannot be started, error 577
  18. IP数据报中如果不分片,分片标志值是什么?
  19. 树莓派siri homekit_米家设备也能喊 Siri 控制,手把手教你把米家设备接入 Homekit
  20. 考研英语 - word-list-35

热门文章

  1. JMeter:No-GUI运行及生成漂亮的HTML报告
  2. MMD_2c_FrequentItemsets
  3. 基因测序3——三、四代测序技术来势汹汹,国产化仍在布局二代测序?
  4. Hybrid assembly with long and short reads improves discovery of gene family expansions
  5. 时钟,复位和电源管理
  6. 计算机无法打开策略,windows电脑本地计算机策略打不开该怎么解决?
  7. python 函数 默认参数
  8. flask传值给js
  9. python调用dll报错:ValueError: Procedure called with not enough arguments (4 bytes missing) or wrong call
  10. 人群场景的属性--Deeply Learned Attributes for Crowded Scene Understandin