c语言实现两种查找

来源:互联网 发布:微软网页编辑软件 编辑:程序博客网 时间:2024/05/14 13:32

01#include <stdio.h>
02#include <stdlib.h>
03 
04int main()
05{
06    intL[11]={0,70,38,65,97,76,93,1,15,68,64};  //无序序列
07    intS[11]={0,10,20,30,35,40,65,67,69,84,97};//有序序列
08    printf("元素68所在L中的位置为%d ",seqSearch(L,68));
09    //printf("元素67所在S中的位置为%d ",binSearch(S,67));
10    return0;
11}
12int seqSearch(int L[11],int key) //顺序查找
13{
14    inti=0;
15    for(i=10;i>=0;i--)
16    {
17        if(L[i]==key)
18            returni;
19    }
20    return0;
21}
22int binSearch(int S[11],int key)//折半查找
23{
24    intlow=1,high=10,m=0;
25    while(low<=high)
26    {
27        m=(low+high)/2;  //折半
28        if(S[m]==key)
29            returnm;
30        if(key<S[m])
31            high=m-1;
32        else
33            low=m+1;
34    }
35    return0;
36}
原创粉丝点击