码迷,mamicode.com
首页 > 其他好文 > 详细

一般查找 (顺序查找)

时间:2014-08-05 21:48:30      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   strong   for   

 

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

 

bubuko.com,布布扣
#include<stdio.h>
int fun(int a[],int n,int x)
{
   int i;
   for(i=0;i<n;i++)
{
      printf("该点是%d\n",a[i]);
if(a[i]==x) 
      {         puts("找到\n");     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.\n",p);
m=fun(a,10,p);
if(m==-1) printf("没有找到啊\n");
}
View Code

 

bubuko.com,布布扣

 

 

 

 

bubuko.com,布布扣
#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.\n",search1(a,x,10));
    else printf("该元素不在数组中\n");
    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.\n",search1(a,x,10));
else printf("该元素不在数组中\n");
return 0;
}

 

bubuko.com,布布扣

 

 

 

 

 

 

 

bubuko.com,布布扣
/*顺序查找:*/
#include<stdio.h>
int main()
{
    int a[10]={1,2,3,4,5,6,7,8,9,10};
    int i,x,y;
    printf("输入你要查找的数:\n");
    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位置\n",x,i+1); //输出找到的相关信息
            break; //跳出循环
        }
    }
    if (y==0)printf("无法找到你要查找的数\n"); //y=0表示找不到
}
View Code

bubuko.com,布布扣

 

 

 

 bubuko.com,布布扣

 

 

 

 

输出满足条件数组元素   下标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\n",i);

return 0;
}

 

 

bubuko.com,布布扣

 

bubuko.com,布布扣

 

 

bubuko.com,布布扣

 

 

 

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

#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 个元素\n",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\n",a[i]);

return 0;
}

 

一般查找 (顺序查找),布布扣,bubuko.com

一般查找 (顺序查找)

标签:style   blog   http   color   os   io   strong   for   

原文地址:http://www.cnblogs.com/2014acm/p/3892973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!