数据结构(15) - 顺序查找

顺序查找是按照序列原有顺序对数组进行遍历比较查询的基本查找算法。对于任意一个序列以及一个给定的元素,将给定元素与序列中元素依次比较,直到找出与给定关键字相同的元素,或者将序列中的元素与其都比较完为止。

复制代码
 1 /**
 2  * C data structure sequence search example.
 3  * 
 4  * License - MIT.
 5 */
 6 
 7 #include <stdio.h>
 8 
 9 
10 #define DISPLAY_ARRAY(i, buf, len) \
11         do { \
12             for (i = 0; i < len; i++) \
13                 printf("%d ", buf[i]); \
14             printf("\n"); \
15         } while(0)
16 
17 
18 /**
19  * sequence_search - Sequence search.
20 */
21 int sequence_search(int *buf, int len, int key)
22 {
23     for (int i = 0; i < len; i++) {
24         if (key == buf[i])
25             return i;
26     }
27 
28     return -1;
29 }
30 
31 
32 /**
33  * Main function.
34 */
35 int main(void)
36 {
37     int i = 0;
38     int ret = -1;
39     int key = 10;
40     int buf[] = {83, 21, 28, 47, 69, 10, 43, 33, 5, 41};
41     int len = sizeof(buf) / sizeof(int);
42 
43     printf("The original array:\n");
44     DISPLAY_ARRAY(i, buf, len);
45 
46     ret = sequence_search(buf, len, key);
47 
48     if (0 > ret) {
49         printf("Not found key: %d.\n", key);
50     }
51     else {
52         printf("Find key %d at index: %d.\n", key, ret);
53     }
54 
55     return 0;
56 }
复制代码

 

详情可参考Github: [Link] [https://github.com/Phoebus-Ma/C-Helper/tree/main/Class-1/Search.C].

posted @   this毛豆  阅读(144)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示