在C語言中,實現搜索功能的一種常見方法是使用線性搜索(Linear Search)算法。該算法逐個比較數組或鏈表中的元素,直到找到目標元素或遍歷完所有元素。
下面是一個使用線性搜索算法實現搜索功能的示例代碼:
#include <stdio.h>
// 線性搜索函數
int linearSearch(int arr[], int n, int target) {
for (int i = 0; i < n; i++) {
if (arr[i] == target) {
return i; // 返回目標元素的索引
}
}
return -1; // 沒有找到目標元素,返回-1
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 3;
int result = linearSearch(arr, n, target);
if (result == -1) {
printf("目標元素不存在\n");
} else {
printf("目標元素在索引 %d 處\n", result);
}
return 0;
}
在上面的代碼中,linearSearch
函數接受一個整數數組、數組的長度和目標元素作為參數。它使用一個for
循環遍歷數組中的元素,并使用條件語句檢查每個元素是否與目標元素相等。如果找到目標元素,則返回其索引;否則,返回-1。
在main
函數中,我們定義了一個整數數組arr
和目標元素target
。通過調用linearSearch
函數,我們可以得到目標元素在數組中的索引,然后根據返回值輸出相應的結果。
以上就是使用線性搜索算法實現搜索功能的一個簡單示例。當然,還有其他更高效的搜索算法,如二分搜索(Binary Search)和哈希表等,可以根據具體需求進行選擇。