• 一般查找 (顺序查找)


    顺序查找:在一个 已知无序队列中找出 与 给定关键字相同的数的具体位置。
    原理是让关键字与队列中的数从第一个开始逐个比较,直到找出与给定关键字相同的数为止。复杂度为o(n).

    查找某个元素是否存在

    #include <stdio.h>
    int main ( )
    {
    int i,x,a[10] ;
    printf(" 输入10个整数:") ;

    for(i=0 ; i<10 ;i++)
    scanf("%d",&a[i]) ;

    printf(" 输入待查找元素:") ;
    scanf("%d",&x);

    for(i=0 ; i<10 ;i++)
    if(a[i]==x) break ;

    if(i<10) printf("元素%d存在 ",x);

    else printf("元素%d不存在 ",x) ;

    }

     


    #include <stdio.h>
    int main ( )
    {
    int i,x, N;

    printf(" 输入整数N为:") ;
    scanf("%d",&N) ;

    int a[N] ;
    printf(" 输入N个整数:") ;

    for(i=0 ; i<N ;i++)
    scanf("%d",&a[i]) ;

    printf(" 输入待查找元素:") ;
    scanf("%d",&x);

    for(i=0 ; i<N ;i++)
    if(a[i]==x) break ;

    if(i<N) printf("元素%d存在 ",x);

    else printf("元素%d不存在 ",x) ;

    }

    **********************************************************************************************************************************

    #include<stdio.h>
    int fun(int a[],int n,int x)
    {
       int i;
       for(i=0;i<n;i++)
    {
          printf("该点是%d
    ",a[i]);
    if(a[i]==x) 
          {         puts("找到
    ");     return(i);     }//查找到,返回位置
    }
    if(i==n)     return(-1);//没有找到,返回-1
    }
    
    main()
    {
    int a[10]={1,2,3,4,5,6,7,8,9,10};
    int p,m;
    scanf("%d",&p);
    printf("你要查找%d.
    ",p);
    m=fun(a,10,p);
    if(m==-1) printf("没有找到啊
    ");
    }
    View Code

    #include <stdio.h>
    
    //顺序查找:
    int search1(int a[],int x,int n) //x为要查找的元素,n为数组长度
    {
        int i;
        for (i=0;i<n;i++)
        {
            if (a[i]==x)
                return i;
        }
        return -1;
    }
    
    int main()
    {
        int i,a[10],x;
        for (i=0;i<10;i++)
            scanf("%d",&a[i]);
            
        printf("请输入要查找的元素" );
        scanf("%d",&x);
    
    
        if (search1(a,x,10)!=-1)printf("查找的元素在数组中的位置为%d.
    ",search1(a,x,10));
        else printf("该元素不在数组中
    ");
        return 0;
    }
    View Code

    #include <stdio.h>

    //顺序查找:
    int search1(int a[],int x,int n) //x为要查找的元素,n为数组长度
    {
    int i;
    for (i=0;i<n;i++)
    {
    if (a[i]==x)
    return i;
    }
    return -1;
    }

    int main()
    {
    int i,a[10],x;
    for (i=0;i<10;i++)
    scanf("%d",&a[i]);

    printf("请输入要查找的元素" );
    scanf("%d",&x);


    if (search1(a,x,10)!=-1)printf("查找的元素在数组中的位置为%d. ",search1(a,x,10));
    else printf("该元素不在数组中 ");
    return 0;
    }

    /*顺序查找:*/
    #include<stdio.h>
    int main()
    {
        int a[10]={1,2,3,4,5,6,7,8,9,10};
        int i,x,y;
        printf("输入你要查找的数:
    ");
        scanf("%d",&x);
        y=0;                    //标记是否已找到,y=1表是找到了,y=0表示没找到
        for (i=0;i<10;i++)           //循环,把x和数组中的元素一个个比较
        {
            if (x==a[i])                 //如果x=a[i]说明已经找到
            {
                y=1;        //把y变成1,说明已经找到了
                printf("你要查找的数%d在第个%d位置
    ",x,i+1); //输出找到的相关信息
                break; //跳出循环
            }
        }
        if (y==0)printf("无法找到你要查找的数
    "); //y=0表示找不到
    }
    View Code

     

    输出满足条件数组元素   下标i

    #include <stdio.h>
    int main ( )
    {
    int i,x, a[11]={ -1,12,23,42,56,65,81,92,100,109} ;
    scanf("%d",&x);
    for (i=0;i<10;i++)
    if (a[i]>=x) printf("元素下标 %d ",i);

    return 0;
    }

    输出满足条件数组元素  的 位置   第几个元素

    #include <stdio.h>
    int main ( )
    {
    int i,x, a[11]={ -1,12,23,42,56,65,81,92,100,109} ;
    scanf("%d",&x);
    for (i=0;i<10;i++)
    if (a[i]>=x) printf("第 %d 个元素 ",i+1);

    return 0;
    }

    输出满足条件的数组元素

    #include <stdio.h>
    int main ( )
    {
    int i,x, a[11]={ -1,12,23,42,56,65,81,92,100,109} ;
    scanf("%d",&x);
    for (i=0;i<10;i++)
    if (a[i]>=x) printf("元素 %d ",a[i]);

    return 0;
    }

  • 相关阅读:
    mysql(二)数据类型
    mysql(一)
    MySQL8 安装官方示例 employees 数据库
    Elasticsearch入门
    redis入门
    git 基本使用
    vue-cli4环境变量配置和代理跨域配置
    nginx配置
    彻底搞清浏览器和服务器跨域
    File文件过滤器
  • 原文地址:https://www.cnblogs.com/2014acm/p/3892973.html
Copyright © 2020-2023  润新知