0
私は挿入ソートの時間をかけたいです。私はそれが動作するようなコードを持っているが、(それがループ内でだから)それはループ内のすべてのソートに一度印刷した場合:C++クロックが異なる値を返すのはなぜですか?
clock_t start;
double duration;
start = clock();
int j, temp;
for (int i = 0; i < NumberOfLines; i++) {
j = i;
while (j > 0 && arr[j - 1] < arr[j]) {
temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
j--;
}
duration = (clock() - start)/(double)CLOCKS_PER_SEC;
cout<<"Sorting took: "<< duration<<" seconds"<<'\n';
}
duration = (std::clock() - start)/(double)CLOCKS_PER_SEC;
cout << "Please Work: " << duration << " seconds" << '\n';
しかし、私はループ内cout
コメント場合は、撮影した0時間を返します。 :
duration = (clock() - start)/(double)CLOCKS_PER_SEC;
//cout<<"Sorting took: "<< duration<<" seconds"<<'\n';
}
duration = (std::clock() - start)/(double)CLOCKS_PER_SEC;
cout << "Please Work: " << duration << " seconds" << '\n';
なぜですか?
最適化。それを防ぐために、ソートされた配列afterループを出力します。 –
あなたのループは、コンソールやファイルに接続されているストリームに送信する時間よりもはるかに短い時間で実行されるため、私は賭けるでしょう。そして、通常、クロックの細かさは、単純なループの数百回の反復をキャッチするほど良くはありません。 –
@yurikilochekうん、それは私がしなければならないかもしれない。 – cparks10