查找算法006-顺序查找


说明:顺序查找适合于存储结构为顺序存储或链接存储的线性表。


1、基本思想:

顺序查找是非常简单常用的查找算法,基本思路:从第一个元素m开始逐个与需要查找的元素x进行比较,当比较到元素值相同(即m=x)时返回元素m的下标,如果比较到最后都没有找到,则返回-1。该算法的时间复杂度为O(n),如果数据量很大时查找效率会很低。


2、时间复杂度:O(n)


3、C 实现

#include<stdio.h>

/* 顺序查找算法
   a为数据数组,len为数组a的长度,x为查找的元素 
   如果查找成功返回元素x在数组a中的下标,找不到则返回-1 
 */ 
int search(int a[],int len, int x)
{
    int i;
    for (i=0; i<len; i++)
    {
        if(x==a[i])   
            return i; // 返回元素的下标 
    }
    return -1; // 没有找到 
}

int main()
{
    int a[10]={1,3,5,2,0,9,8,4,7,6};
    int x=2;   // 需要查找的元素
    int i = search(a, 10, x);
    if(i!=-1)
        printf("元素%d在第%d个位置\n",x,i+1);
    else
        printf("没有找到元素:%d\n",x);
    return 0;
}


happysneaker.com

运行结果

Unity那些事儿
请先登录后发表评论
  • 最新评论
  • 总共0条评论