나는 정렬을 배우고 있습니다 (처음이 아님). 버블 정렬에서 우리는 다음과 같은 코드를가집니다. 모든 볼 수있는 바와 같이바깥 쪽 루프 버블 정렬의 N 값
int bubble_sort(int *arr, size_t n) {
size_t i,j;
for(i=0;i<n;i++) {
for(j=0;j<n-1;j++) {
if(arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return 0;
}
는, 내부 루프는 [I-1]이 모두 하나의 반복 처리에 관여하는 (a [i]는, 이해할 수있는 (루프로) (N-1) 시간을 갖는다),하지만 외부 루프는 내가 < n을 가지고 있지만 그것은 또한 < n-1에서 작동합니다. 그러나 인터넷에서의 대부분의 구현에는 외부 루프 값으로 n이 있습니다. 외부 루프 n-1을 수행하면 최악의 경우에 문제가 없습니다. 5 4 3 2 1. n-1 번 외부 루프에서 작동하지 않는 입력 집합이 있으면 궁금합니다. 있다면 그것을 게시하고 설명하시기 바랍니다. 감사.
클래식 버블 정렬의 내부 루프에는 n-i 반복이 있고 n-1이 아닌 것을 유의하십시오. – amit