프로젝트 용 Java에서 메모리 내장 파일 시스템을 구축 중이며 현재 이진 검색을 사용하여 노드를 찾고 있지만 버그를 찾고있을 때 노드를 발견했습니다. 대문자는 유니 코드에서의 위치 때문에 목록의 시작 부분으로 정렬됩니다. 이것은 여전히 이진 검색에 노드를 찾기 위해 잘 작동하지만,이 알파벳 순으로 정렬 목록을 나타내야하는 동안이 예를 들어, 허용되지 않습니다 :하는 것Java에서 검색/정렬 및 문자열 인코딩
Hosts.txt abc home settings.txt
는 내가 생각하고있어 (이론적으로) 가장 쉬운 해결책이 될 것입니다 문자열을 문자 세트에 다음과 같이 배치하십시오.
aAbBcCdDeEfFgGhHiIjJkKlLmM... and so on with special characters and such included
쉽게 또는 더 나은 방법으로이를 수행 할 수있는 방법이 있습니까?
어떻게 문자열을 정렬합니까? – DeiAndrei
이진 검색을 사용하여 목록에 삽입 할 위치를 찾습니다. 그러나 'A'와 'a'의 차이가 전체 알파벳이기 때문에 문제의 일부입니다. 유니 코드 문자열을 사용하는 바이너리 검색은 요청한대로 목록을 정렬하지 못합니다. – Linuxxon
일부 코드는 분명 도움이 될 수 있지만 문자열을 비교해야합니다 대/소문자를 구분하지 않는 이진 검색 – DeiAndrei