小编Nat*_*ace的帖子

快速排序算法中使用大小和索引的类型问题

我正在尝试用 rust 实现快速排序算法,问题是,我有一个名为“ i ”的 var,它用作迭代器,但首先,它的值为“-1”,并且我无法将其设置为使用 isize 类型,因为它是负数,但我也无法将其设置为 isize 类型,因为 isize 类型不能用作索引。

分区函数:

  fn partition(arr: &mut [isize], low: usize, high: usize) -> usize {
        let mut i: usize = low - 1; // when changed to isize, I do not encounter any errors but the algorithm itself doesnt work like it should.//
        let mut j: usize = low;
        let pivot: isize = arr[high];
        while j < high {
            if arr[j] <= pivot {
                i += 1;
                arr.swap(i, j);
            }
            j …
Run Code Online (Sandbox Code Playgroud)

quicksort rust

2
推荐指数
1
解决办法
181
查看次数

Rust 中的 Option&lt;Box&lt;T&gt;&gt; 是什么

我知道Box是一个分配在堆上的智能指针。所以我可以使用 Box 将原始堆栈分配数组转换为“动态”堆分配数组。但是就创建数据结构而言,比如说树,为什么我需要装箱指针?

rust

0
推荐指数
1
解决办法
1463
查看次数

标签 统计

rust ×2

quicksort ×1