zoukankan      html  css  js  c++  java
  • 分块查找

    /*本程序实现分块查找算法  又称索引顺序查找     需要注意的是分块查找需要2次查找  先对块查找  再对块内查找    2013.12.16    18:44*/
    #include <stdio.h>
    #define N 12
    struct index
    {
        int key;
        int start;
        int end;
    }index[4];
    int search(int a[],int l,int o)//实现分块查找
    {
        int i,j=0;
        for(i=0;i<4;i++)//实现分块
        {
            index[i].start=j++;
            j+=3;
            index[i].end=j;
            index[i].key=a[j];//关键数据,标记
        }
        i=0;
        while(i<4&&o>index[i].key)//确定所在块
        i++;
        if(i>=4)
        return -1;
        j=index[i].start;
        while(j<=index[i].end&&a[j]!=o)//在块内确定位置,以while语句替代if  简洁
        j++;
        if(j>index[i].end)
        j=-1;
        return j;
       
       
    }
    int main(int argc,char **argv)
    {
        int n[N] ={2,4,8,10,12,14,15,17,21,22,44,55};//要求数据元素必须有序
        int i=0;
        int result;
        int input;
        printf(" 所有数据如下,请输入要查找的数据,本程序将列出它的位置  采用分块查找算法 ");
        while(i<N)
        {
            printf("%d    ",n[i]);
            i++;
        }
        puts(" ");
        scanf("%d",&input);
        result=search(n,N,input);
        if (result==-1)
        printf("输入有误,请检查!");
        else
        printf("您查找的数据  %d在  %d处 ",input,result);
        return 0;
    }

  • 相关阅读:
    Linux下链接数据库图形化工具
    基于深度学习的中文语音识别系统框架(pluse)
    Centos配置深度学习开发环境
    aishell数据处理为thchs30格式
    GRU-CTC中文语音识别
    深度学习知识树,别处传过来,用于自己知识整理。
    kaldi HMM-GMM全部训练脚本分解
    使用深度学习来破解 captcha 验证码(转)
    kaldi
    神经网络最优化方法
  • 原文地址:https://www.cnblogs.com/lzh-Linux/p/3480403.html
Copyright © 2011-2022 走看看