什么是在矢量的前半部分迭代(读取)并根据第一个更改矢量的后半部分的结构的惯用方法?这是非常抽象的,但一些算法可以归结为这个问题.我想在Rust中编写这个简化的C++示例:
for (var i = 0; i < vec.length; i++) {
for (var j = i + 1 ; j < vec.length; j++) {
if (f(vec[i], vec[j])) {
vec.splice(j, 1);
j--;
}
}
}
Run Code Online (Sandbox Code Playgroud)