第七周学习进度

#include <stdio.h>
#include <stdlib.h>
#define listsize 20
typedef int keytype;
typedef struct
{
    keytype key;
}recordtype;

typedef struct 
{
    recordtype r[listsize+1];
    int length;
}recordlist;

void Bininput(recordlist *l)
{
    int i=1;
    printf("请输入数组内容(0截止):\n");
    scanf("%d",&(l->r[i].key));
    while (l->r[i].key!=0)
    {
        i++;
        scanf("%d",&(l->r[i].key));
    }
    l->length=i+1;
}

int Binsrch(recordlist l , keytype k)
{
    int low=1;
    int high=l.length;
    while(low<=high)
    {
        int mid=(low+high)/2;
        if(k==l.r[mid].key)
        return (mid);
        else if (k<l.r[mid].key)
        high=mid-1;
        else 
        low =mid+1;
    }
    return (0);
}

int main()
{
    int k ;
    recordlist l;
    Bininput(&l);
    printf("\n请输入要查找的数:");
    fflush(stdin);
    scanf("%d",&k);
    if(Binsrch(l,k)==0)
    printf("查无此数");
    else
    printf("要查找的数%d的位置是:%d\n",k,Binsrch(l,k));
    return 0;
}                    
星期 学习方法 学习时长 新增代码行 知识总结
星期一        
星期二        
星期三 看视频 2h    
星期四        
星期五        
星期六        
星期日 看视频、做练习 2h  50 折半查找
总计 看视频、做练习 4h 50  折半查找
posted @ 2020-06-09 21:43  VousAime  阅读(96)  评论(0)    收藏  举报