while (low <= high) {
while (low <= right && pivot >= arr[low]) {
low++;
}
while (high > left && pivot <= arr[high]) {
high--;
}
if (low < high) {
int temp = arr[low];
arr[low] = arr[high];
arr[high] = temp;
}
}
이거 퀵정렬에서 배열요소가 같은값일때의 반복문입니다. 제가 혼돈이온? 코드부문은 while문 의 반복중 인덱스값이 초과하지않게끔 범위를 제한할려고 할때입니다
while (low < right && pivot >= arr[low]) {
low++;
여기 코드 대로면
만약,arr[3,3,3,3] 의 배열이 있다고 가정하면
인덱스값 4까지 가지않음?
그러서 while(low<right &&어쩌구저쩌구) 로 바꾸는게 맞는거아니먀?
댓글 0