퀵 정렬 카운터,스왑카운터 질문드립니다
글쓴이: qlzhkdldjt / 작성시간: 화, 2018/06/19 - 12:21오전
void QuickSort(int *arr, int n)
{
int pivot = 0;
int left = 0, right = 0;
clock_t st, et;
st = clock();
if (n <= 1)
{
return;
}
left = 0;
right = n;
while (1)
{
for (left++; (left= arr[left]); left++)quick_count++;
for (right--; (right>0) && (arr[0]
if (left
{
SWAP(arr[left], arr[right]);
quick_swap++;
}
else
{
break;
}
}
SWAP(arr[0], arr[right]);
quick_swap++;
//PrintSpace(arr - origin);
et = clock();
quick_sec += (double)(et - st) / CLOCKS_PER_SEC;
QuickSort(arr, right);
QuickSort(arr + left, n - left);
}
횟수가 이상하게 나오는데 카운터 위치가 잘못된건지 알 수가 없네요 어딜 고쳐야할까요?
Forums:
댓글 달기