当前位置: 首页 > 知识库问答 >
问题:

如何使用标准库对单词进行排序?

冯永长
2023-03-14

我想从String创建一个排序词

以下是我到目前为止的情况。

fn sort_word(word: &str) -> String {
    word.chars()
        .collect::<Vec<char>>()
        .sort_unstable()
        .iter()
        .collect()
}

我不理解编译器的信息:

error[E0599]: no method named `iter` found for unit type `()` in the current scope
 --> src/lib.rs:5:10
  |
5 |         .iter()
  |          ^^^^ method not found in `()`

我到底做错了什么?

共有2个答案

赫连实
2023-03-14

为了好玩和有另一个选择,您可以使用HashMap来计算项目,然后重建整个字符串。

以下是ASCII字符的示例:

use std::collections::HashMap;
use std::iter;

fn sort_string(s: &str) -> String {
    let mut counter = HashMap::new();
    for c in s.chars() {
        *counter.entry(c).or_insert(0usize) += 1;
    }
    (0..=255)
        .map(char::from)
        .filter_map(|c| counter.get(&c).map(|n| iter::repeat(c).take(*n)))
        .flatten()
        .collect()
}

游乐场

苏宏逸
2023-03-14

以防对谁有帮助

fn sort_word(word: &str) -> String {
    let mut cvec = word.chars().collect::<Vec<_>>();
    cvec.sort_unstable();
    cvec.iter().collect()
}
 类似资料:
  • 本文向大家介绍如何使用Python标准库进行性能测试,包括了如何使用Python标准库进行性能测试的使用技巧和注意事项,需要的朋友参考一下 Profile 和 cProfile 在 Python 标准库里面有两个模块可以用来做性能测试。 1. 一个是 Profile,它是一个纯 Python 的实现,所以会慢一些,如果你需要对模块进行拓展,那么这个模块比较合适。 2. 第二个是 cProfile,

  • 这是我的节点类: 我有一个单链表,需要使用插入排序进行排序。我对常规列表的插入排序有很好的理解,但对链表没有。我发现另一个帖子,一个用户说: 让我们考虑一下插入排序是如何工作的:它将列表“拆分”(理论上)为三组:已排序的子集(可能为空)、当前项和未排序的子集(可能为空)。排序当前项之前的所有内容。当前项之后的所有内容都可以排序,也可以不排序。算法检查当前项,并将其与下一项进行比较。请记住,当前项之

  • 问题内容: 我正在研究信号分类问题,想先缩放数据集矩阵,但是我的数据是3D格式(批,长度,通道)。 我尝试使用Scikit-learn Standard Scaler: 但是我收到了以下错误消息: 找到具有暗3的数组。StandardScaler预期<= 2 我认为一种解决方案是将每个通道的矩阵分成多个2D矩阵,分别缩放比例,然后放回3D格式,但我想知道是否有更好的解决方案。 非常感谢你。 问题答

  • 本文向大家介绍如何使用JavaScript对HTML列表进行排序?,包括了如何使用JavaScript对HTML列表进行排序?的使用技巧和注意事项,需要的朋友参考一下 要使用JavaScript对HTML列表进行排序,代码如下- 示例 输出结果 上面的代码将产生以下输出- 在点击“点击排序”按钮-

  • 本文向大家介绍如何使用JavaScript对HTML表格进行排序?,包括了如何使用JavaScript对HTML表格进行排序?的使用技巧和注意事项,需要的朋友参考一下 排序使用JavaScript的HTML表格,代码如下 - 示例 输出结果 上面的代码将产生以下输出 - 在点击排序按钮-