このプログラムでは、ArrayList
words
. これまでのところ、 を使用してCollections.sort
、テキスト ファイル内のすべての行をアルファベット順に配置しました。ただし、このプログラムに二分探索アルゴリズムを実装したいのですが、データのソート (マージ ソート、バブル ソートなど) なしでは実現できないと思います。私は間違っているかもしれませんが、それが私がガイダンスと知識のためにここに来た理由です.
次に、ソート用のメソッドを作成すると、これは a words
is a String
not anString[]
です。そのようなデータ型を使用してバブルソートを行うにはどうすればよいですか?
public static void main(String[]args) throws IOException{
Scanner scan = new Scanner(System.in);
String stringSearch = scan.nextLine();
ArrayList<String> words = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new FileReader("File1.txt"));
String line;
while ((line = reader.readLine()) != null) {
words.add(line);
}reader.close();
Collections.sort(words);
for(String str:words)
System.out.println(str);
for(String sLine : words)
{
if (sLine.contains(stringSearch))
{
int index = words.indexOf(sLine);
System.out.println("Got a match at line " + index);
}
}
System.out.println(words.size());
}