同じ100,000の乱数配列をすべてソートするさまざまなソート方法があります。
次の方法を使用して、それぞれのランタイムを見つけています
long insertionStart = System.currentTimeMillis();
arr.Clone(iniArr);
arr.insertionSort();
long insertionFinal = System.currentTimeMillis() - insertionStart;
そして、乱数配列の場合は次のとおりです
int maxSize = 100000; // array size
Sortarr arr, iniArr; // reference to array
arr = new Sortarr(maxSize); // create the array
iniArr = new Sortarr(maxSize);
// insert random numbers
Random generator = new Random();
for (int i = 0; i < maxSize; i++) iniArr.insert(generator.nextInt());
これを変更して、それぞれが 1 つではなく 100 個の配列を並べ替え、各配列の時間をカウントできるようにするにはどうすればよいですか? 例えば。Run1 - 23ms; Run2 - 25ms; ... Run100 - 22ms
編集: 最後に 1 つのことがあります。したがって、各反復では、配列をいくつかの方法で並べ替えます。たとえば、挿入、マージ、およびクイック 並べ替えです。したがって、挿入 = 300 ミリ秒、マージ = 200 ミリ秒、クイック = 100 ミリ秒とします。反復ごとに、どのメソッドが最も速くソートされたかを見つける必要があります。
これは、下位のプログラミングクラスで何千回も行う単純な最小/最大タイプのことです。各値を配列にスローして、array.min 呼び出しを使用する方が簡単でしょうか? (それが実際に何であれ、Java構文には新しい..)