버블 정렬에 걸리는 시간을 측정하기 위해 10 개의 큰 숫자를 취하려고합니다. 그 숫자를 10의 배열에 넣습니다. 그런 다음 거품을 10 번 정렬하고 매번 찍은 시간을 인쇄합니다.버블 정렬에 걸리는 시간을 측정하는 방법 숫자 10을
문제는 어떤 이유로 든 메신저가 0입니다.
int n = sizeof(arr10)/sizeof(arr10[0]);
start=clock();
bubbleSort(arr10, n);
end=clock();
cpu_time_used = (double) (end - start)/CLOCKS_PER_SEC;
printf("Bubble Sort time= %f\n",cpu_time_used);
여기 버블 정렬의 기능입니다 : 여기
내가 주에있는 것입니다 초를 인쇄 할
void bubbleSort(int arr[], int n)
{
int i, j;
for (i = 0; i < n-1; i++)
// Last i elements are already in place
for (j = 0; j < n-i-1; j++)
if (arr[j] > arr[j+1])
swap(&arr[j], &arr[j+1]);
}
void swap(int *xp, int *yp)
{
int temp = *xp;
*xp = *yp;
*yp = temp;
}
인쇄 시작 및 끝내기를 시도하십시오. clock()이 반환하는 것은 무엇입니까? 모든 것이 정상이면, 그때 그 결정을하십시오. – recycler
어떤 컴파일러를 사용하고 있습니까? 배열이 하드 코드되어 있습니까? 컴파일러는 출력이 의존하지 않기 때문에 전체 정렬을 버릴 수도 있습니다. – klutt
더 적절한 방법은 다양한 방법으로 스왑의 수를 계산하는 것입니다. Crudely 당신은 글로벌 변수를 사용하여 그렇게 할 수 있습니다. – Bathsheba