C言語で検索機能を実装する方法
線形探索アルゴリズムは、C言語で検索機能を実現するための一般的な方法です。このアルゴリズムでは、配列または連結リスト内の要素を1つずつ比較し、目的の要素が見つかるまで、またはすべての要素を探索し終わるまで続けます。
線形探索アルゴリズムを使用した検索機能を実装するサンプルコードを以下に示します。
#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関数を呼び出すことで配列内のtargetの位置を調べ、取得した値をもとに結果を出力しています。
上記の線形探索アルゴリズムを使用した検索機能の実装の簡単な例です。他にも、2 分探索やハッシュ表などの、より効率的な探索アルゴリズムがあり、必要に応じて選択できます。