[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

情報処理技法(Javaプログラミング)II 第5回

目次
索引

探索(1)

テキストpp.68--93を参照。


課題5

p.72のList 3-1では、メソッド seqSearch で線形探索をしますが、最初に存在する探索要素のインデックスだけを表示します。 そこで、メソッド seqSearchLast を追加し、最後に存在する探索要素のインデックスも表示するようにしてください。 このメソッドは、インデックス i n -1 から1ずつ減らし、-1になったら探索失敗とすればよいです。 なお、探索要素が1つしか存在しない場合は、最初と最後が同じインデックスになります。

SeqSearch2.java
import java.util.Scanner;

class SeqSearch2 {
    static int seqSearch(int[] a, int n, int key) {
        
        
    }
    static int seqSearchLast(int[] a, int n, int key) {
        
        
    }
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        
        
    }
}
ターミナル
PS ...\Desktop\java2>  & ... 'seqSearch2'
要素数:7
x[0]:6
x[1]:4
x[2]:3
x[3]:2
x[4]:1
x[5]:2
x[6]:8
探す値:2
その値は最初はx[3]最後はx[5]にあります。
PS ...\Desktop\java2>

余力のある人は、メソッド countIdx も追加し、探索要素が全部で何個あるかも表示するようにしてください。

SeqSearch3.java
import java.util.Scanner;

class SeqSearch3 {
    static int seqSearch(int[] a, int n, int key) {
        
        
    }
    static int seqSearchLast(int[] a, int n, int key) {
        
        
    }
    static int countIdx(int[] a, int n, int key) {
        
        
    }
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        
        
    }
}
ターミナル
PS ...\Desktop\java2>  & ... 'seqSearch3'
要素数:7
x[0]:6
x[1]:4
x[2]:3
x[3]:2
x[4]:1
x[5]:2
x[6]:8
探す値:2
その値は最初はx[3]最後はx[5]全部で2個あります。
PS ...\Desktop\java2>

完成したら、答案(Javaプログラム)をメールで提出してください。 差出人は大学発行のメール・アドレス(学生番号@cis.twcu.ac.jp)とし、宛先はkonishi@cis.twcu.ac.jpとします。 メールの本文には、学生番号、氏名、科目名、授業日(10月17日)を明記してください。


参考文献


[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

2025年10月17日更新
小西 善二郎 <konishi@cis.twcu.ac.jp>
Copyright (C) 2025 Zenjiro Konishi. All rights reserved.