#排序 #算法 #数据结构算法

prksort

这是在 Rust 中实现的归并排序和快速排序算法。

1 个不稳定版本

0.1.0 2024 年 5 月 15 日

855算法

MIT 许可证

6KB
60

Rust 中的归并排序

这是 Rust 中归并排序算法的实现。归并排序是一种高效、稳定且基于比较的排序算法,以其性能而闻名。

用法

要使用此模块提供的 sort 函数,只需使用可变引用调用它,传入一个可比较元素组成的向量的引用。

use prksort::*;

let mut arr = vec![5, 2, 3, 1, 4];
mergesort::sort(&mut arr);
println!("Sorted array: {:?}", arr); // Output: Sorted array: [1, 2, 3, 4, 5]

这将按升序对向量的元素进行排序。

sort 函数与任何实现了 PartialEqPartialOrdCopy 特性的类型 T 一起工作。这意味着向量中的元素必须支持比较并且是可复制的。

use prksort::*;

let mut arr = vec!['e', 'b', 'c', 'a', 'd'];
mergesort::sort(&mut arr);
println!("Sorted array: {:?}", arr); // Output: Sorted array: ['a', 'b', 'c', 'd', 'e']

功能

sort 函数使用归并排序算法就地对输入向量进行排序。

merge 函数是 sort 函数使用的辅助函数,用于将两个已排序的切片合并为一个已排序的切片。

   ## License

  This code is provided under the MIT License. You can find the full license text in the LICENSE file.

  ## Contribution

  Contributions are welcome! If you find any issues or have suggestions for improvements, feel free to open an issue or create a pull request on GitHub.

Rust 中的快速排序

这是 Rust 中快速排序算法的实现。快速排序是一种广泛使用的排序算法,以其效率和简单性而闻名。

用法

要使用此模块提供的 sort 函数,只需使用可变引用调用它,传入一个可比较元素组成的数组或切片的引用。

use prksort::*;

let mut arr = vec![5, 2, 3, 1, 4];
quicksort::sort(&mut arr);
println!("Sorted array: {:?}", arr); // Output: Sorted array: [1, 2, 3, 4, 5]

无运行时依赖