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 panic宏的用法和示例 在Rust中,当你使用panic宏时,表明程序遇到了一个不可恢复的错误,因此需要立即停止执行并打印错误信息;
Python实现将二进制码转换为格雷码 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code);本文将使用Python实现将二进制码转换为格雷码;
Python实现将格雷码转换为二进制码 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code);本文将使用Python实现将格雷码转换为二进制码;
网站搜索功能被恶意利用的解决方法 不良分子通过网站搜索框不断搜索敏感关键词,产生大批网页标题带有敏感关键词的搜索结果页,且这些页面可能会被搜索引擎收录;他们的目的是让这些敏感关键词在搜索结果中大量曝光,从而达到他们宣传的目的;
使用Python求取前n个自然数的总和 给一个自然数n,使用Python求取前n个自然数的总和;
Golang中的map数据类型 map 是一堆键值对的未排序集合;在Go语言中,使用map不需要引入库,它是一种内置的数据类型。