• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

c语言实现两种查找的示例

OC/C/C++ 水墨上仙 1961次浏览

c语言实现两种查找的示例


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int L[11]={0,70,38,65,97,76,93,1,15,68,64};  //无序序列
    int S[11]={0,10,20,30,35,40,65,67,69,84,97};//有序序列
    printf("元素68所在L中的位置为%d ",seqSearch(L,68));
    //printf("元素67所在S中的位置为%d ",binSearch(S,67));
    return 0;
}
int seqSearch(int L[11],int key)  //顺序查找
{
    int i=0;
    for(i=10;i>=0;i--)
    {
        if(L[i]==key)
            return i;
    }
    return 0;
}
int binSearch(int S[11],int key) //折半查找
{
    int low=1,high=10,m=0;
    while(low<=high)
    {
        m=(low+high)/2;   //折半
        if(S[m]==key)
            return m;
        if(key<S[m])
            high=m-1;
        else
            low=m+1;
    }
    return 0;
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明c语言实现两种查找的示例
喜欢 (0)
加载中……