zoukankan      html  css  js  c++  java
  • 折半查找0~100的数

    在0到100中查找需要的数,找到则输出数组下标;找不到则返回-1.

    算法要求:已排序的数组序列。

    算法思想:

           (1)若low>height,返回-1;

           (2)若n<1或n>100,则输出”超出范围“。

           (3)判断要查找的数n与mid的大小,若n>mid,则令low=mid+1。

           (4)若n<mid,则令height=mid-1。

           (5)若n=mid,则输出。

    代码段:

    import java.util.*;
    public class Zheban {
    public int sun(int low,int height,int n) {
    int []b=new int[100];
    for(int i=1;i<b.length;i++) {
    b[i]=i;
    }
    int mid=(low+height)/2;
    if(low>height) {
    return -1;
    }
    else if(n>99||n<1){
    System.out.println("该数据不在数组序列中");
    }
    else if(n<b[mid]&&n>b[low]){
    height=mid-1;
    return sun(low,height,n);
    }
    else if(n>b[mid]) {
    low=mid+1;
    return sun(low,height,n);
    }
    else if(n==b[mid]){
    System.out.println(n+"的顺序为"+mid);
    }

    return -1;
    }
    public static void main(String []args) {
    System.out.println("请输入需要查找的数");
    Scanner scan=new Scanner(System.in);
    int n=scan.nextInt();
    int low=0;
    int height=100;
    Zheban a=new Zheban();
    a.sun(low,height,n);
    }
    }

          

  • 相关阅读:
    codeblocks基本调试方法—gdb—Debugger
    五大开源Web服务器
    【u237】分数化小数
    【u230】回文词
    【t099】最接近神的人
    【t052】冰岛
    【t069】奇怪的迷宫
    【p092】分数线划定
    【u243】拓扑排序
    【u247】生物进化
  • 原文地址:https://www.cnblogs.com/mianyang0902/p/10625515.html
Copyright © 2011-2022 走看看