2010-05-24 3 views
0

나는 최소 수백 개의 문자 집합을 가지고있다. 어떻게 그 목록에있는 특정 캐릭터의 위치를 ​​효율적으로 얻을 수 있습니까?문자 C 언어 집합에서 문자를 검색하는 효율적인 방법

+1

최소 수백 개의 문자 집합입니까? 이것은 문자열 집합입니까 아니면 하나의 정말로 긴 문자열입니까? –

답변

0

집합을 순서 목록으로 변환하고 이진 검색을 사용하십시오.

+0

확인. 목록으로 변환해도 시간이 소비됩니다. 목록으로 변환하는 시간은 효과적 일 것입니다. – boom

+0

집합을 기반으로하는 여러 검색 작업이있는 경우. 그래서 그것은 항상 간단한 스캔보다 나쁘지 않습니다. – zsong

+0

제안을 위해 @SeigFried 고맙습니다 ... – boom

2

문자 집합을 정렬하면 bsearch()을 사용할 수 있습니다.

그렇지 않다면, 당신은 꽤 운이 없어 - strchr()과 같은 간단한 스캔을 사용해야 할 것입니다.

관련 문제