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

分类: 计算机技术
推荐阅读:
C语言获取整行输入的多种方法 在C语言中,有多种方法可以实现从标准输入流(stdin)中读取整行输入;最常见的方法是使用例如fgets()、scanf()、getchar()这些函数;
Python 异常处理及常见错误 一般情况下,在python无法正确处理程序时,就会发生异常;当发生异常时,我们需要捕获它并进行处理,否则程序会终止运行。
Python中执行JavaScript代码 在Python爬虫运用中,经常会碰到需要模拟JS(JavaScript)代码所实现功能的场景。如果使用Python来模拟出JS的功能,不仅需要把JS代码转换成Python代码,而且还可能会碰到经过加密或压缩过的JS代码,这时就需要先解密JS代码,不是一件轻松的事,那么我们为什么不直接由Python来调用JS代码呢。
Python计算圆周率,精确到n位 本文将使用Python计算圆周率,可精确到n位,n值越大精度越高。
Pythone内置函数 Python 内置函数是 Python 解释器提供的函数库,这些函数可以直接使用,无需导入任何模块。
Python爬取国外可用的代理IP 这是作者曾经在某个程序中写的一个python模块,其作用是爬取国外的一个免费代理IP网站,获得免费的代理IP。