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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

启航学途

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值