小编S.Y*_*Kim的帖子

在 Rust 中实现 Trie 数据结构的更好方法

最近我自学 Rust,并尝试编写 Trie 数据结构。我已经用 C++ 编写了 Trie 代码,如下所示。

struct node_t
{
    bool is_end = false;
    std::vector<std::pair<char, node_t>> children;

    void push(std::string str)
    {
        node_t* curr = this;

        for (size_t i = 0; i < str.size(); i++)
        {
            char curr_char = str[i];
            std::vector<std::pair<char, node_t>>::iterator iter = std::find_if(curr->children.begin(), curr->children.end(), [&](std::pair<char, node_t>& e) { return e.first == curr_char; });

            curr = iter != curr->children.end() ?
                   &iter->second :
                   (curr->children.push_back(std::make_pair(curr_char, node_t{ false, std::vector<std::pair<char, node_t>>() })), &(curr->children.end() - 1)->second);

        }

        curr->is_end = true;
    }

    bool has(std::string str) …
Run Code Online (Sandbox Code Playgroud)

pointers reference rust

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

Rust 中双或更多换行符的更好实践?

我想要像下面这样的双重休息:

[ your title there ]

some kind of content...
Run Code Online (Sandbox Code Playgroud)

在 Rust 中,有两个宏可以打印到标准输入,一个有 like 中断,另一个没有 like 中断。以及一些可能打印的代码,如下所示:

[ your title there ]

some kind of content...
Run Code Online (Sandbox Code Playgroud)

或者

// use println! only for consistency.

println!("[ your title here ]\n");        // i find it awkward because prinln! already has some sort of '\n' in it.
println!("some kind of content...");

Run Code Online (Sandbox Code Playgroud)

有没有更好的方法在 Rust 中打印两个或更多换行符?或者其他语言将不带 like 中断的 print 和带单个 like 中断的打印作为单独的函数,如 C#、Java、...等?

conventions println rust

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

标签 统计

rust ×2

conventions ×1

pointers ×1

println ×1

reference ×1