网络

教育改变生活

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 329|回复: 0
打印 上一主题 下一主题

【C语言】顺序查找算法

[复制链接]

711

主题

718

帖子

3204

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3204
跳转到指定楼层
楼主
发表于 2025-3-3 19:24:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查找是指在大量的信息中寻找一个特定的信息。在计算机中,查找是非常重要的一个应用,比如“百度”。查找算法的好坏直接影响查找的速度。
  • 顺序查找是指从数组的一端开始逐个进行比较,直到找到该数据为止。
例如:查找数组 a 中第一次出现数字 m 的下标并输出该下标,如果没有则输出“sorry”,实现代码如下:

  • # include <stdio.h>
  • int main(void)
  • {
  •     int a[] = {1,5,66,8,55,9,1,32,5,65,4,8,5,15,64,156,1564,15,1,8,9,7,215,
  •            16,45,5,6,164,15,236,2,5,55,6,4,1,59,23,4,5,314,56,15,3,54,
  •            1,54,54,2,4,4,5,15,698,486,56,26,98,78,456,1894,564,26,56,5};
  •     int n;  //存放数组a中元素的个数
  •     int m;  //查找的数字
  •     int i;  //循环变量
  •     n = sizeof(a) / sizeof(int);  //求出数组中所有元素的个数
  •     printf("请输入一个数字:");
  •     scanf("%d", &m);
  •     for (i=0; i<n; ++i)
  •     {
  •         if (a[i == m)
  •         {
  •             printf("下标 = %d\n", i);
  •             break;
  •         }
  •     }
  •     if (i == n)
  •     {
  •         printf("sorry\n");
  •     }
  •     return 0;
  • }


输出结果是:
请输入一个数字:7
下标 = 21
请输入一个数字:58
sorry



顺序查找的平均查找长度为 n+1/2.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

WEB前端

QQ|手机版|小黑屋|金桨网|助学堂  咨询请联系站长。

GMT+8, 2025-4-4 10:44 , Processed in 0.034010 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表