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

分类: 计算机技术
推荐阅读:
Python iter()函数 在Python中,iter()函数用于获取一个可迭代对象的迭代器。
Python读写JSON文件、解析JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式;本文将通过多个例子讲解在Python中如何读写json文件,如何解析JSON内容,以及如何将JSON对象与Python字典相互转换;
Python实现插入排序(insertion sort) 插入排序(insertion sort)是一种比较简单的排序算法;其原理类似于对一手扑克牌进行排序;
Golang通过使用GetSystemMetrics获取系统的分辨率 本文将使用Go语言调用GetSystemMetrics()函数来获取系统的分辨率。
PySide6控件详细教程 在本教程中,我们将介绍 PySide6 中最常用的控件,包括标签、按钮、文本框、下拉框、列表框、复选框、单选框、滑块、进度条、图像控件等。
PySide6改变界面主题风格 在本文中,您将学会如何使用QApplication的静态函数setStyle()更改PySide6的主题风格;