답변:
그렇게하지 말아야 할 아주 좋은 이유가없는 한 항상 제공된 라이브러리 루틴을 호출하십시오 ( 그 이유 를 문서화 해야 함 ).
정렬 알고리즘이 절대적으로 적합하지 않기 때문입니다. Java 퀵 정렬에는 매우 큰 데이터 세트가 포함 된 버그가있었습니다.이 데이터 세트는 Sun에 의해 식별, 수정 및 고객에게 제공되었으므로 그럴 필요가 없었습니다.
또한 Java 7의 기본 정렬이 더 새롭고 더 나은 정렬로 업그레이드되었습니다. 또한 무료로.
기본 정렬이 아니라면 라도 유용 당신을 위해 충분하지, 그것으로 스틱.
회의에서 나는 이것에 관한 좋은 이야기를 들었다.
Microsoft에서는 누군가 VB 앱 (c. VB 3)을 작성하고 있었고 많은 사람들에게 자신이 많은 가치를 가지고 있으며 콤보 박스에 순서대로 나타나기를 원한다고 말했습니다.
모든 사람은 오래된 컴퓨터 과학 교과서로 뛰어 들어 매우 효율적인 루틴을 찾아서 Visual Basic으로 포팅하여 그에게 우편으로 보냅니다. 한 남자가 방금 "콤보 박스에 몇 개의 값을?"
"약 50"가 답장을 받았습니다.
"정렬 된 속성을 TRUE로 설정하십시오".
99.9999 %의 인스턴스 정렬은 라이브러리 루틴과 사용자가 작성하는 것 사이의 성능 차이가 무시할 수 있고 노력 및 유지 관리 오버 헤드가 결과보다 훨씬 크기 때문에 라이브러리, 컨트롤 또는 SQL 선택을 사용하여 정렬하는 것이 가장 좋습니다.
조기 최적화에 대한 고전적인 인용문을 꺼내야 할 때입니다. 대부분의 경우 실제로 중요하지 않습니다. 요즘 CPU 속도로 인해 대부분의 데이터 세트를 버블 정렬 할 수 있으며 실제로별로 눈에 띄지 않을 수 있습니다. 그러나 실제로 큰 데이터 세트를 정렬 할 때 정렬 성능이 문제가되기 시작하면 다른 옵션을 반드시 살펴 봐야합니다.
분명히 비트와 타임 슬라이스에는 중요하지 않습니다. 병합 정렬보다 퀵 정렬보다 작성 및 이해가 더 쉽다는 것을 알았습니다. 따라서 자체 정렬 알고리즘을 작성하려는 경우 해당 알고리즘을 사용합니다.