list = ( 20 , 16 , 2 , 48 , 99 , 15 , 12 , 6 )
에서 피봇값을 중앙값 48로 잡고
L . R로 접근하면
처음부터 멘붕
L은 피봇값보다 크거나 같으니까 20,16,2 모두 지나서
L = 피봇값인 48에서 멈추고
R = 피봇값보다 작은값 6에서 멈춰요
교환을 하면 피봇값이 이동했으니 그 위치를 확정이라고 해줘야하는데
99는 어디로 가야하나요
미아됨
대체 무슨상황인가요 굽신 ㅜ ㅜ
에서 피봇값을 중앙값 48로 잡고
L . R로 접근하면
처음부터 멘붕
L은 피봇값보다 크거나 같으니까 20,16,2 모두 지나서
L = 피봇값인 48에서 멈추고
R = 피봇값보다 작은값 6에서 멈춰요
교환을 하면 피봇값이 이동했으니 그 위치를 확정이라고 해줘야하는데
99는 어디로 가야하나요
미아됨
대체 무슨상황인가요 굽신 ㅜ ㅜ
코딩을 pivot = (int)floor((begin+end)/2)라고 가정했기때문에 피봇값을 바꾸라는 말은 봐주세요
내가 봤을땐, pivot 값은 이동을 했지만, pivot position은 그대로이기 때문에 6과 99를 비교하면 될듯.. 그래서 L과 R이 같거나 교차할 때까지 비교하면 되는거 같은데
간단히 말하자면 pivot 위치는 고정이지만 값은 바뀔 수 있다는 거..라고 생각하면 될듯?
그리고, 꼭 pivot을 가운데로 정하지 않아도 된다면
http://prof.ysu.ac.kr/blog/postview.asp?b_id=bjkim&idx=1108
여기 가서 동영상으로 어떤식으로 도는지 봐도 괜찮을듯..