CH7_3.C
上传用户:lgb298
上传日期:2013-03-22
资源大小:1025k
文件大小:1k
源码类别:

软件工程

开发平台:

C/C++

  1. #include <stdio.h>
  2. typedef struct
  3. {  int key;
  4.    int link;
  5. }SD;
  6. typedef struct
  7. {  int key;
  8.    /*float info;*/
  9. }JD;
  10. int blocksrch(JD r[],SD nd[],int b,int k,int n)
  11. {  int i=1,j;
  12.    while((k>nd[i].key)&&(i<=b))  i++;
  13.    if(i>b) {  printf("nNot found");
  14.       return(0);
  15.    }
  16.    j=nd[i].link;
  17.    while((j<n)&&(k!=r[j].key)&&(r[j].key<=nd[i].key))
  18.       j++;
  19.    if(k!=r[j].key)  j=0;
  20.    return(j);
  21. }
  22. void main()
  23. {
  24.     static JD r[]={0,22,12,13,8,9,20,33,42,44,38,24,48,60,58,74,57,86,53};
  25.     static SD nd[]={{0,0},{22,1},{48,7},{86,13}};
  26.     int i,n=18,b=3;
  27.     int key;
  28.     printf("Input the key :");
  29.     scanf("%d",&key);
  30.     i=blocksrch(r,nd,b,key,n);
  31.     if(!i)
  32.       printf("Not foundn");
  33.     else
  34.       printf("the index of %d is %dn",key,i);
  35. }