#import @interface StringSearch : NSObject - (NSInteger)searchString:(NSString *)searchString inString:(NSString *)inString;
下面展示了一个使用Objective-C实现的字符串搜索算法示例。该算法采用了简单的暴力搜索方法,用于查找一个字符串在另一个字符串中的位置。
#import @interface StringSearch : NSObject - (NSInteger)searchString:(NSString *)searchString inString:(NSString *)inString;
该方法通过将目标字符串的每个字符与输入字符串中的每个字符进行比较,逐一匹配,直到找到完全匹配的位置。这种方法简单易懂,但在大型字符串中可能效率较低。
- (NSInteger)searchString:(NSString *)searchString inString:(NSString *)inString { NSInteger searchLength = [searchString length]; NSInteger inLength = [inString length]; for (NSInteger i = 0; i <= inLength - searchLength; i++) { NSInteger match = 0; for (NSInteger j = 0; j < searchLength; j++) { if ([searchString characterAtIndex:j] == [inString characterAtIndex:i+j]) { match++; } else { break; } } if (match == searchLength) { return i; } } return NSNotFound; } 该方法通过双重循环结构实现字符串匹配,首先遍历输入字符串的每个可能位置,然后逐个字符比较,直到找到完全匹配的位置。这种方法简单易懂,但在大型字符串中可能效率较低。
// 搜索结果示例 NSInteger result = [stringSearch searchString:@"目标字符串" inString:@"输入字符串"]; if (result != NSNotFound) { NSLog(@"找到匹配项位置:%ld", (long)result); } else { NSLog(@"未找到匹配项"); }