查询算法

来源:互联网 发布:真丝睡衣 知乎 编辑:程序博客网 时间:2024/05/29 09:16

线性查找

class middleSelectIndex{
    public static void main(String[] args) {
    // ��ʼ������
    int[] arrays = {8,5,3,9,100,27,6,9};
    // ����һ�������е������ڵ�ǰ�����в���
    Scanner s = new Scanner(System.in);
    System.out.println("���Ƕ���������Ҫ��ѯ������");
    // ����һ�����εı������տ���̨������ַ���
    int num = s.nextInt();
    int index = -1; //����һ����־ �ҵ������е������� ���� Index �Ҳ�����ֵ 
    // ������ʼ�±�λ��
    int start = 0;
    // ������ֹ�±�λ��
    int end = arrays.length -1;
    //���������м�ı�־λ
    int middle = 0;
   
    while(start<=end) {
    middle = (start + end)/2;
    if(num == arrays[middle]) {
    index = middle;
    break;
    }
    }
    //
    if(num > arrays[middle]) {
    start = middle + 1;
    }
    //
    if(num > arrays[middle]) {
    end = middle -1;
    }
    if(index != -1) {
    System.out.println("������Ҫ�ҵ������ڵ�ǰ�����е�λ��Ϊ"+index);
    }else {
    System.out.println("������Ҫ�ҵ������ڵ�ǰ�����в�����,����������");
    }
}
 }

二分法查找