在ANSI C中搜索字符串内最有效的内存方式是什么?(把代码放好)
需要这样的示例是嵌入式设备,其可用内存非常短,但现在具有合理的时钟周期.
这取决于你正在寻找什么...但strchr()或strstr()通常是合适的.由于它们不使用额外的内存,因此它们的内存效率非常高.
一次前进一个字符是Θ((n-m + 1)m).检查Boyer-Moore和Knuth-Morris-Pratt算法,以获得更有效的搜索子串的方法 - 两者都低至O(n).你方便的算法教科书应该讨论它们.标准C库strstr函数实现一个或两个,所以使用它而不是滚动自己的.