• Mojo 实现排序功能


    sort排序

    实现排序功能。

    您可以从包中导入这些 API。例如:algorithm

    from algorithm.sort import sort
    

    partition

    partition[type: AnyRegType, cmp_fn: fn[AnyRegType]($0, $0, /) capturing -> Bool](buff: Pointer[*"type", 0], k: Int, size: Int)
    

    对输入向量进行就地分区,使前 k 个元素是最大(如果cmp_fn 是 <= 运算符,则为最小)元素。前 k 个元素的顺序是未定义的。

    参数:

    • type ():基础数据的 DType。AnyRegType
    • cmp_fn ():类型、类型 捕获 -> Bool 类型的比较函子。fn[AnyRegType]($0, $0, /) capturing -> Bool

    参数:

    • buff ():输入缓冲区。Pointer[*"type", 0]
    • k ():分区元素的索引。Int
    • size ():缓冲区的长度。Int

    sort

    sort(inout buff: Pointer[Int, 0], len: Int)
    

    对向量进行就地排序。

    该函数不返回任何内容,向量就地更新。

    参数:

    • buff ():输入缓冲区。Pointer[Int, 0]
    • len ():缓冲区的长度。Int
    sort[type: DType](inout buff: Pointer[SIMD[type, 1], 0], len: Int)
    

    对向量进行就地排序。

    该函数不返回任何内容,向量就地更新。

    参数:

    • type ():基础数据的 DType。DType

    参数:

    • buff ():输入缓冲区。Pointer[SIMD[type, 1], 0]
    • len ():缓冲区的长度。Int
    sort(inout v: List[Int])
    

    对向量进行就地排序。

    该函数不返回任何内容,向量就地更新。

    参数:

    • v ():输入要排序的整数向量。List[Int]
    sort[type: DType](inout v: List[SIMD[type, 1]])
    

    对向量进行就地排序。

    该函数不返回任何内容,向量就地更新。

    参数:

    • type ():基础数据的 DType。DType

    参数:

    • v ():要排序的输入向量。List[SIMD[type, 1]]

    来源:Mojo中文网:mojocn.org Mojo Dev社区:mojoo.org

  • 相关阅读:
    【数据结构与算法】带头双向循环链表
    数组篇 第一题:删除排序数组中的重复项
    编程中常用的加密算法
    【C语言刷题】链表中快慢指针的应用
    007python-列表
    阿里云“玩转云上 StarRocks3.0 湖仓分析”,开启数据分析新范式
    到底选择Vite还是Webpack?
    Linux中安装MySQL_图解_2023新
    OpenCV(十四):ROI区域截取
    Linux安装Redis(详细教程)
  • 原文地址:https://blog.csdn.net/j610152753/article/details/141174724