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

分类: 计算机技术
推荐阅读:
MySQL ASCII()函数 ASCII(str)函数返回字符串str第一个字符的ASCII码;如果str是NULL则返回NULL;
C语言获取整行输入的多种方法 在C语言中,有多种方法可以实现从标准输入流(stdin)中读取整行输入;最常见的方法是使用例如fgets()、scanf()、getchar()这些函数;
使用MATLAB求函数极限 要在 MATLAB 中求解一个函数的极限,可以使用 "limit" 函数。这个函数需要两个输入参数:要求解的函数和趋近于的值。
Python __import__()函数 __import__() 函数是一个高级函数,用于动态地导入模块。与 import 语句不同,__import__() 函数可以在运行时动态地导入模块,使得程序可以更加灵活地处理模块的导入。
cannot use 1 (type int) as type bool in assignment错误的解决方法 在go语言中布尔类型不能接受其他类型的赋值,不支持自动或强制的类型转换。
Linux删除所有与扩展名不匹配的文件 在Linux系统下,当你想删除某个文件夹下没有指定扩展名的所有文件时,你可以使用这条命令来实现,它将会删除目录下所有与扩展名不匹配的文件: