自己紹介
この記事が初投稿になるので簡単に自己紹介をしておこうと思います。現在(2020/02/07)大学2年生のもので理工学部で情報系の勉強を学んでいます。
記事を投稿しようとした理由は、「いつまでたっても初心者を抜け出せない!」と強く思うようになってきたため、ここらで環境を変えないと何も進展がないと思い投稿しようと思いました。Googleで「中級者 なり方」など脳筋のように検索していましたがよい結果が得られなかったため、**コードたくさん書けばいんじゃね?**と思いこれからたくさんコードを書いていこうと思います!初心者なのでその辺を理解したうえで温かい目で見守ってください笑
線形探索
というわけで第1回目の投稿は線形探索です。なぜ線形探索にしたかは正直適当です。細かいことは気にせず学んでいきましょう。
これはあるn個のデータが登録されているデータの中から特定のデータ(キー)を探す処理を行うアルゴリズムです。配列にデータが格納されていると仮定して、その配列の先頭から末尾までスキャンしながら要素とキーを比較していきます。今回は1~9までのデータをもっている配列に対して探索をしてみます。以下にコードを示してみます。
public class senkeitansaku {
public static void main(String[] args) {
//配列を作成
int[] array = {1,2,3,4,5,6,7,8,9};
int result;
// 9を持っているインデックスを探す
result = tansaku(array, 9);
//探したいデータが存在するバイト存在しない場合で条件分岐
if (result != -1) {
System.out.println("Found: index key = " + result);
} else {
System.out.println("Not found.");
}
}
//探したいデータを検索するメソッドを定義
public static int tansaku(int[] array,int target) {
int notfound = -1;
for (int i=0;i<array.length;i++) {
if (array[i]==target) {
return i;
}
}return notfound;
}
}
初めての投稿なのでこの程度の記事ですがこれからもたくさん投稿して脱初心者を目指して頑張っていこうと思います!