1
我有一個有序的txt文件是這樣的:爲什麼二分查找找不到我的字符串?
aaa
bbb
ccc
ddd
eee
我要檢查,如果 「DDD」 字符串的文件中存在...
這裏我FUNC:
- (BOOL) asd:(NSString*)sting
{
NSArray *LinesCount =
[[NSString stringWithContentsOfFile:@"longfile.txt"
encoding:NSStringEncodingConversionAllowLossy error:nil]
componentsSeparatedByString:@"\r\n"];
unsigned index = (unsigned)CFArrayBSearchValues(
(CFArrayRef)LinesCount,
CFRangeMake(0, CFArrayGetCount((CFArrayRef)LinesCount)),
(CFStringRef)string,
(CFComparatorFunction)CFStringCompare,
NULL);
if (index < [LinesCount count]) return YES;
return NO;
}
爲什麼它是否總是返回NO,以及任何字符串?
您的文件tooooo大,但是當你需要搜索字符串,每次加載它? ? – Nekto
你知道bsearch可以返回'index <[LinesCount count]',但'LinesCount'不會有那個字符串嗎? – Nekto
@Nekto我不會每次加載文件...這是一個簡單的代碼片段來顯示問題!你有想法解決它嗎? – elp