[過去ログ] Rust part21 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
427: デフォルトの名無しさん [sage] 2023/10/07(土) 02:12:44.80 ID:QajUcOD9(1/2) AAS
リスト型つまりLinkedListをメインにすると利便さと引き換えに遅い問題とガベージが出まくる問題がある
Rustはリスト型メインにしなくて正解
439
(1): デフォルトの名無しさん [sage] 2023/10/07(土) 23:59:36.96 ID:QajUcOD9(2/2) AAS
>>430
430(6): デフォルトの名無しさん [sage] 2023/10/07(土) 06:46:44.80 ID:bWLG2vp7(1) AAS
mut無しとはこういうことか
外部リンク:play.rust-lang.org

fn qsort<T: Copy+Ord>(list: &[T]) -> Vec<T> {
match list {
[pivot, ..] => {
let (smaller, rest): (Vec<T Vec<T>) =
list[1..].iter().partition(|&i| i < pivot);
[qsort(&smaller), vec![*pivot], qsort(&rest)].concat()
},
_ => vec![]
}
}

fn main() {
let list = [9, 0, 7, 3, 6, 1, 2, 4, 8, 5];
println!("{:?}", list);
println!("{:?}", qsort(&list));
}
RustはそのようにOCamlやScalaと同等に書くことも容易な点がいいな
同時にその方法によりRustで記述すると大量にVec(またはリストを実現する何か)を使い捨てていることが見える
つまりGC言語ではガベージが大量に出る
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s