どうも、ちょげ(@chogetarou)です。
Vec(ベクタ)を逆順にソートする方法を紹介します。
方法

Vec(ベクタ)を逆順にソートする方法は、2つあります。
reverse()
ひとつは、reverse()を使う方法です。
「vect.reverse()
」のように、Vecからreverse()を呼び出します。
//vect=対象のベクタ
vect.reverse();
上記のreverse()は、呼び出したVec(ベクタ)を逆順にソートします。
使用例
fn main() {
let mut numbers = vec![1, 2, 3, 4, 5];
numbers.reverse();
println!("{:?}", numbers);
}
出力:
[5, 4, 3, 2, 1]
rev()
もうひとつは、rev()を使う方法です。
まず、Vec(ベクタ)からiter()、iter()からrev()を呼び出します。
そして、rev()からcollect()を呼び出します。
//vect=対象のベクタ
let reverse: Vec<_> = vect.iter().rev().collect();
上記のcollect()は、呼び出したベクタを逆順に並び替えたVec(ベクタ)を生成します。
使用例
fn main() {
let numbers = vec![1, 2, 3, 4, 5];
let reverse: Vec<_> = numbers.iter().rev().collect();
println!("{:?}", reverse);
}
出力:
[5, 4, 3, 2, 1]
まとめ
Vec(ベクタ)を逆順にソートする方法は、次の2つです。
- reverse()を使う方法
vect.reverse();
- collect()を使う方法
let reverse: Vec<_> = vect.iter().rev().collect();
コメント