저는 여러 번이 문제를 겪었으며 왜 누군가가 그 일이 일어 났는지 설명 할 수 있는지 궁금해하고 있었습니까? 여기에 나는 테이블에 다른 정렬 작업의 런타임을 출력하는 프로그램을 작성하고 있습니다. "왜 이것이 작동하게 만드나요?"라는 문장을 추가하면 작동합니다. 그것 없이는, 그것은하지 않으며 들여 쓰기가 버려집니다.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;
}
출력의 예를 들려 줄 수 있습니까? – GManNickG
그 줄을 끝내는 유일한 코드가 맞습니까? 어딘가에'endl'을 출력하면됩니다. –
각 정렬 전에 배열을 재설정하지 마십시오. 'SelectionSort' 후에 정렬하기가 훨씬 쉽습니다. 편집 : 물론, 그들이 배열의 복사본을 가져다하지 않는 한? –