버블 정렬 배열 수
조회수 450회
지금 정렬 알고리즘 짜고 있는데요
include
include
include
void bubble_sort(int a[], int size);
void main() { int num, i, j, k; printf("Enter the number:"); scanf("%d", &num); int arr = (int)malloc(sizeof(int)*num); srand(time(NULL)); if (num > 10) { for (i = 0; i < num; i++) { arr[i] = rand() % num + 1; for (j = 0; j < i; j++) { if (arr[i] == arr[j]) { i--; break; } } } bubble_sort(arr, num);
}
else { for (i = 0; i < num; i++) { arr[i] = rand() % num + 1; for (j = 0; j < i; j++) { if (arr[i] == arr[j]) { i--; break; } } } printf("\nBefore sort:"); for (k = 0; k < num; k++) { printf("%d ", arr[k]); } bubble_sort(arr, num); printf("\nAfter sort:"); for (k = 0; k < num; k++) { printf("%d ", arr[k]); } printf("\n"); } free(arr);
return;
}
void bubble_sort(int a[], int size) { time_t start, end; int swap, temp; time(&start); swap = 1; for (long j = size-1; j >=0 && swap; j--) { swap = 0; for (long i = 0; i <=j-1; i++) { if (a[i] > a[i+1]) { temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; swap = 1; } } }
time(&end); printf("\ntime: %.2f", difftime(end,start));
}
이렇게 짯는데 num가 32768 까지는 정상적으로 소팅이 되는데 32769가 되는 순간부터 응답이 없더라고요... 일단 빌드는 되는데 무한루프처럼 콘솔창이 가만히 있는데 뭐가 문제일까요 ㅠㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력