私は今、この問題に何度も遭遇しましたが、なぜそれが起こるのか誰かが説明できるかどうか疑問に思っていましたか?ここでは、さまざまな並べ替え操作の実行時間をテーブルに出力するプログラムを作成しています。「なぜこれが機能するのか」というcoutステートメントを追加すると、機能します。それがないと、そうではなく、インデントが破棄されます。
cout << "Size Selection Insert Bubble Shell Merge Heapsort Quicksort STL" << endl;
for(int i = 50; i <= 6400; i *= 2) { // Prints table
cout << "Why does this make it work" << endl;
for(int j = 0; j < i; j++) { // Creates random vector
v.push_back(rand());
}
vector<int>& arr = v;
// arr = &v;
cout << setw(4) << i;
start = clock();
SelectionSort(arr);
cout << setw(10) << clock() - start;
start = clock();
InsertionSort(arr);
cout << setw(10) << clock() - start;
start = clock();
BubbleSort(arr);
cout << setw(10) << clock() - start;
start = clock();
ShellSort(arr);
cout << setw(10) << clock() - start;
start = clock();
MergeSort(arr);
cout << setw(10) << clock() - start;
start = clock();
HeapSort(arr);
cout << setw(10) << clock() - start;
start = clock();
QuickSort(arr);
cout << setw(10) << clock() - start;
start = clock();
sort(arr.begin(), arr.end());
cout << setw(10) << clock() - start;
}