<div>어쩌다 보니 우연히 발견한 방법인데요, 제가 알던 방법이 아닌 새로운 방법이라서 글로 남겨봅니다. ㅎㅎㅎ</div> <div> </div> <div>먼저 이 알고리즘은 자료의 크기에 거의 영향을 받지 않아요.</div> <div> </div> <div>주어지는 자료의 범위에 영향을 많이 받도록 되어 있답니다.</div> <div> </div> <div>아래는 소스코드와 간략한 설명이에요^^</div> <div> </div> <div> </div> <div style="text-align:left;"><img width="567" height="673" style="border:;" alt="noname03.gif" src="http://thimg.todayhumor.co.kr/upfile/201505/1431689961VkEb3N6pJSnYYv7cg.gif"></div> <div> </div> <div>data[]에 다음과 같이 저장되어 있다고 가정하면</div> <div> </div> <div>data[0]의 값이 5이니 data[5]에 1을 더해 주고,</div> <div> </div> <div>data[1]의 값이 3이니 data[3]에 1을 더해 주고,... 하는 방법을 계속 수행을 하면 pos[]에 다음과 같이 저장이 됩니다.</div> <div> </div> <div>그리고 출력할 때에는</div> <div> </div> <div>pos[0]=0 이니 data[]에 0이 없다는 것이므로 출력을 하지 않고,</div> <div> </div> <div>pos[1]=1 이니 data[]에 1이 1개 있다는 것이므로 1번 출력하고,</div> <div>.</div> <div>.</div> <div>.</div> <div>pos[3]=2 이니 data[]에 3이 2개 있다는 것이므로 2번 출력하고,.. 하는 과정을 반복하면 오름차순 정렬이 됩니다.</div> <div> </div> <div>물론 반대 방향으로 내림차순도 됩니다.</div> <div> </div> <div>-----------------------------------------------</div> <div> </div> <div>이거 제가 제일 먼저 발견한 거 맞겠죠???????????</div> <div> </div> <div>혹시 비슷한 방법이 이미 있다면 덧글 남겨주세요^^</div><br>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.