第12講 並び替えの方法その1
第4話 隣項交換繰り返し法の並び替え時間が計測できるようにする
解答コード例
import java.io.*;
class w{
public static void main(String args[])throws IOException {
BufferedReader p = new BufferedReader(new InputStreamReader(System.in));
System.out.println("キーボードからデータ数を入力してください。");
System.out.print ("データ数=");
int n,k;
int[] x=new int[1000000];
n=Integer.parseInt(p.readLine());
f(x,n);//データ発生
g(x,n);//データ表示
double hj = System.currentTimeMillis();
k=h(x,n);//データ並び替え
double ow = System.currentTimeMillis();
System.out.println("並び替え後");
g(x,n);//データ表示
System.out.print (k);
System.out.println("巡目に並び替えに成功しました。");
System.out.println("並び替えにかかった時間は"+(ow-hj)/1000+"秒です。");
}
System.out.println("並び替えにかかった時間は"+(ow-hj)/1000+"秒です。");は今まで用いてきていませんでしたが、
System.out.println("並び替えにかかった時間は");
System.out.println((ow-hj)/1000);
System.out.println("秒です。");
の3文と同じ働きになります。
文字も足し算できることからこのように記述することもできるのは当然です。
『ではどうして今まで、使わなかったの?』
ごめんなさい。忘れていました。
これからはSystem.out.println("並び替えにかかった時間は"+(ow-hj)/1000+"秒です。");
のような簡略表現を使うことにします。
double型でdouble hj = System.currentTimeMillis(); double ow = System.currentTimeMillis();
でhj、ow宣言した理由は、System.currentTimeMillis()がミリ秒での時刻取得なので、
秒に直すために(ow-hj)/1000としているからです。
longは整数型ですから、longで宣言すると(ow-hj)/1000は0になってしまいます。
第3話へ 第5話へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第2部
初心者のための
VC++による C言語 入門 C++ 入門 基礎から応用まで第3部