C言語を使って順次検索アルゴリズムを実装する方法は何ですか。
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が見つかりませんと表示されます。