Function nar_dev_utils::linear_search_by

source ·
pub fn linear_search_by<T, Target, F>(
    arr: &[T],
    target: &Target,
    cmp: F,
) -> Result<usize, usize>
where F: Fn(&Target, &T) -> Ordering,
Expand description

【默认方法】线性查找(使用「判据函数」比对大小)

  • 🎯「前后缀匹配」在没使用[crate::vec_tools]时的默认算法
  • 🎯用于对某个已排好序的元素的查找
    • 由此可用于从零渐近构造有序序列
  • 🎯找到某个元素的位置,或至少反映「它应该被插入的位置」
    • 此处「应该被插入的位置」指的是「插入之后它的索引」
    • 亦即「插入之后会把当前位置的元素后移」
    • 或「第一个小于该元素」的位置
    • 📌核心在「插入后保持『比自己大的 > 自己 > 已存在』的顺序」