Expand description
A collection of anagram utility functions
§Installation
Add anagram = 0.3.0
to your Cargo.toml
§Examples
use anagram::{count, get_next, is_anagram, occurences};
fn main() {
// count how many anagrams can be formed from a given word
let anagram_count = count("ordeals");
assert_eq!(anagram_count, 5040);
// count the number of occurences of an anagram in a given word
let occur = occurences("helloworldhello", "ll");
assert_eq!(occur, 2);
// check if a word is an anagram of another word
let ok = is_anagram("rustiscool", "oolcsistru");
assert_eq!(ok, true);
// get the next lexicographically greater anagram
let next = get_next("abcdefg");
assert_eq!(next, "abcdegf");
// get all anagrams of a word
let mut word: String = String::from("abc");
for _ in 0..count(&word) {
// get next anagram
word = get_next(&word);
println!("{}", word);
}
}
Functions§
- count
- Count the number of anagrams that can be formed from a word
- get_
next - Get the next lexicographically greater permutation This function will return either the next greater permutation or the lexicographically smallest permutation if the given word is the lexicographically greatest permutation Examples: “abc” -> “acb” “cba” -> “abc”
- is_
anagram - Check if a word is an anagram of another word
- occurences
- Count the number of occurences of an anagram in a word