数据结构(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].

浙公网安备 33010602011771号