6个版本

0.2.2 2024年1月7日
0.2.1 2024年1月6日
0.1.2 2024年1月5日

#680 in 算法

每月下载23

MIT许可协议

11KB
178

KMPM

githubcrates-iodocs-rs

KMPM (Knuth-Morris-Pratt算法) 库。KMPM是有效的字符查询算法之一。

如果文本的长度为n,模式的长度为m,KMP算法以O(n+m)的时间进行处理

用法

创建新的Rust项目,并在Cargo.toml文件中添加kmpm依赖项。

Cargo.toml

[dependencies]
kmpm="0.2"

代码示例

main.rs

use kmpm::kmpm_str;

fn main(){
  let text =    "hello world !";
  let pattern = "world";
  let ctr = kmpm_str(text, pattern);
  match ctr {
      Some(cursor)=>{
          println!("matched index {}",cursor)
      }
      None=>{
          println!("\"{}\" does not match",pattern);
      }
  }
}

matched index 6

========================

"hello world !"
      "world"
 ------^^^^^
       |
       #6

许可协议

MIT

无运行时依赖