下面是一個使用C語言實現順序查找算法的示例代碼:
#include <stdio.h>
int sequentialSearch(int arr[], int n, int key) {
for (int i = 0; i < n; i++) {
if (arr[i] == key) {
return i; // 返回找到的元素的索引
}
}
return -1; // 返回-1表示未找到
}
int main() {
int arr[] = {3, 5, 2, 4, 1};
int n = sizeof(arr) / sizeof(arr[0]);
int key = 4;
int index = sequentialSearch(arr, n, key);
if (index != -1) {
printf("元素 %d 在數組中的索引為 %d\n", key, index);
} else {
printf("元素 %d 未找到\n", key);
}
return 0;
}
這個程序首先定義了一個sequentialSearch
函數,該函數接受一個數組、數組大小和要查找的關鍵字作為參數。它使用一個for
循環遍歷數組中的每個元素,如果找到了與關鍵字匹配的元素,它將返回該元素的索引。如果在循環結束后未找到匹配的元素,則返回-1表示未找到。
在main
函數中,我們定義了一個包含一些整數的數組arr
,并確定了數組的大小n
和要查找的關鍵字key
。然后,我們調用sequentialSearch
函數來查找關鍵字在數組中的索引,并根據返回的索引打印相應的消息。
在運行程序時,它將輸出元素 4 在數組中的索引為 3
,表示關鍵字4在數組中的索引為3。如果要查找的關鍵字不在數組中,則輸出元素 4 未找到
。