Infinity, -Infinity, 기타 임의의 10 진수 및 NaN이 포함 된 부동 소수점 목록이있는 경우. 목록이 정렬 된 후 NaN은 어디에 있어야합니까 ?? 이 재귀되지 않습니다 (: 그NaN을 포함하는 목록 정렬
답변
당신 을 할 수 없습니다 종류의 <=
이 NaN
을 포함하여 부동 소수점 값에 대한 주문이 아니기 때문에 NaN의 비교 <=
를 사용하여 포함 부동 소수점 값의 목록이 도움이된다면 나는 거품 정렬을 사용하고 있습니다 NaN <= NaN
은 <=
을 반사적으로 유지해야하며 그렇지 않습니다.
정렬 알고리즘의 전제 조건을 위반했습니다. 아무거나 일어날 수있다.
정렬하려면 일관된 순서가 필요합니다. 예를 들어, NaN에 대해 순서 지정 규칙을 작성해야합니다.
다행히도 이미 Java로 작업이 완료되었습니다. java.lang.Double
은 Comparable
이고 compareTo
은 "Double.NaN은이 메소드에 의해 같고 다른 모든 Double 값 (Double.POSITIVE_INFINITY 포함)보다 큰 것으로 간주됩니다."등의 확장 규칙을 사용합니다.
<=
등의 규칙 대신 확장 된 규칙을 사용하는 두 개의 이중 기본 요소를 비교하는 compare 메서드도 있습니다.
Java로 프로그래밍하는 경우이 유형을 직접 사용할 수 있습니다. double
대신 float
을 사용하는 경우 java.lang.Float
의 해당 방법을 참조하십시오. 다른 언어로 프로그래밍하는 경우에도 Java에서 규칙을 읽고 복사 한 다음 비교 기능에서 사용할 수 있습니다.
정렬에서이 값을 사용하면 NaN
이 모든 유한 값과 양의 무한대가 정렬 된 목록의 맨 끝에 있어야합니다.
팁 주셔서 감사합니다, 나는 그 사실을 몰랐습니다. 이 링크에서 compareTo에 대한 설명서를 찾았습니다. http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html – njuffa
NaN은 문제의 버블 정렬의 구현에 따라 정렬 된 배열의 처음 또는 끝에 놓입니다.
전적으로 주문 기준을 어떻게 정의 하느냐에 달려 있습니다.
- 1. C++ 클래스를 포함하는 정렬 목록
- 2. NaN을 포함하는 MySQL 삭제 레코드
- 3. Java에서 객체를 포함하는 배열 목록 정렬
- 4. unique_ptr의 벡터를 포함하는 객체 목록 정렬
- 5. 파이썬에서 NaN을 포함하는 목록의 평균값을 구하십시오.
- 6. NaN을 포함하는 플롯 팬더 데이터 프레임
- 7. 사전을 포함하는 정렬 배열
- 8. 구조를 포함하는 벡터의 정렬
- 9. 다른 유형을 포함하는 목록 또는 개체 정렬 R
- 10. 두 개의 정수 멤버를 포함하는 개체가있는 목록 정렬
- 11. C#의 격자 컨트롤을 포함하는 목록 상자 정렬
- 12. AngularJS null로 목록 정렬
- 13. mongoDB와 정렬 가능한 목록
- 14. 정렬 목록
- 15. 정렬 목록
- 16. 정렬 목록
- 17. 정렬 목록
- 18. 정렬 목록
- 19. 정렬 목록
- 20. usort를 사용하여 날짜를 포함하는 정렬 정렬
- 21. 다른 목록을 포함하는 목록
- 22. 목록 포함하는 다양한 유형의
- 23. 배열이 NaN을 반환합니다
- 24. 레일에서 부분 정렬 목록 정렬
- 25. 목록 목록 문자열 날짜로 정렬 하시겠습니까?
- 26. 목록 목록 정렬 Python 2.7
- 27. 목록 목록에서 목록 정렬 F #
- 28. 어레이를 포함하는 정렬 배열 ios
- 29. 두 목록 정렬 - 하나는 목록 목록
- 30. 일부 요소에 따라 목록 정렬
스택 오버플로에 오신 것을 환영합니다. 여기에 질문하는 좋은 방법은 아닙니다. 문제를 해결하기 위해 지금까지 아무 것도 시도한 적이 있습니까? 사람들이 자신의 것을 보여줄 수 있도록 먼저 노력을 보여주십시오. [FAQ] (http://stackoverflow.com/tour), [How to Ask] (http://stackoverflow.com/help/how-to-ask) 및 [도움말 센터] (http : // stackoverflow)를 읽어보십시오. .com/help)을 시작으로 사용하십시오. –
해결할 문제는 없으며 그 질문과 대답을 묻는 질문에 –
어떤 언어입니까? Java에 대한 쉬운 대답이 있습니다. –