Rust实现线性搜索算法(Linear Search)

本文将使用Rust实现线性搜索算法(Linear Search);

线性搜索算法原理

线性搜索,就是从头找到尾;比如有一个数组,从该数组的第一个值开始找到结尾,依次判断是否与要寻找的值相等;

Rust实现线性搜索

fn linear_search<T: PartialEq>(item: &T, arr: &[T]) -> Option<usize> {
    for (i, data) in arr.iter().enumerate() {
        if item == data {
            return Some(i);
        }
    }
    None
}

fn main(){
    let index1 = linear_search(&"d", &vec!["a", "b", "c", "d", "e", "f"]);
    println!("{:?}",index1);

    let index2 = linear_search(&"6", &vec!["1", "2", "3", "4", "5", "6"]);
    println!("{:?}",index2);

    let index3 = linear_search(&"x", &vec!["a", "b", "c", "d", "e", "f"]);
    println!("{:?}",index3);
}

程序运行结果

Some(3)
Some(5)
None

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/rust-linear-search.html

分类: 计算机技术
推荐阅读:
Rust中的数据类型 在本文中,将介绍Rust中的整型、浮点型、布尔类型、字符类型、元组类型、数组类型的声明和简单使用方法;
C语言ispunct()函数:判断字符是否为标点符号 ispunct()是C语言标准库中的一个函数,用于检查一个字符是否为标点符号;如果传入的字符参数是标点符号,则返回非0值,否则返回0;
Python获取系统CPU核心数量 在Python语言中,你可以通过os.cpu_count()获取CPU的核心数量,代码如下:
Kali更新源的方法和优质国内源 所谓的Kali源,你可以将它理解为软件仓库,系统通过它安装和更新软件;源的服务器地址写在/etc/apt/sources.list文件中;当系统使用的当前源不可用或速度不理想时,就需要更换源;
Python实现斐波那契数列(使用通项公式) 本文将使用Python编写程序,根据斐波那契数列的通项公式得出第n项的值;
Kali无法安装arpspoof工具的解决办法 如果你的 kali 里没有 arpspoof 工具;且使用类似于 arp-get install arpspoof 这样的命令尝试安装,但还是无法成功;那我来告诉你,你这样时无法安装成功的。