線形探索
・ライナーサーチ、リニアサーチともいう最も単純なアルゴリズムの一つ ・まず、単純なパターンを作ってみよう ① カウンタを0にする ② カウンタが要素数未満である間繰返す ・要素[カウンタ]が検索値と一致したら「カウンタ番目にある」と表示 ・カウンタに1加算 ③ カウンタが要素数と一致していたら「探索完了」と表示
フローチャートを作ろう liner1.xml
・http://ha233.rundog.org/wp-content/uploads/2023/06/liner1.zip
提出:プログラムにしよう
int[] val = {10,20,30,40,50,60}; //元の1次元配列
var goal = 20; //検索値
var cnt = 0; //カウンタを0にする
//カウンタが要素数未満の間繰返す
while(cnt < val.Length) {
if(val[cnt] == goal) {
Console.WriteLine("{0}番目にある", cnt + 1); //先頭が1番目だとする
}
cnt++;
}
if (cnt == val.Length) { //カウンタが要素数になっていたら
Console.WriteLine("探索完了");
}
※改良すべき問題点が含まれています。次回フォローします。
