자답입니다. 문제는 41라인에 조건이 일치하지 않을 경우 피벗의 위치를 변경해주지 않고 계속 진행해나가면서 일어난 문제군요.
수정한 코드입니다. 혹시 더 나은 해결책이 있다면 부탁드립니다 ㅠ 효율성 측면에서요
if(pivot<intArray[samePoint]) samePoint--;
int temp = pivot;
intArray[pivotPoint] = intArray[samePoint];
intArray[samePoint] = temp;
if(samePoint>l_hold){
quickSort(intArray, l_hold, samePoint-1);
}
if(samePoint<r_hold){
quickSort(intArray, samePoint+1, r_hold);
}
break;
}
}
}
}
whitour 7년 전
오름차순 정렬을 퀵솔트로 구현해보았는데 정답이 아니라고 떠서 이렇게 질문드립니다.
어디에서 문제가 있을까요? 첨부합니다.