俺は Rust 書けない C++ マンだけど、双方向リンクリストのサンプルコードを書いてみた。
Rust で insert, remove 操作を O(1) で実装可能かどうかが論点ですよね?
リストの要素数に関わらず insert, remove 操作を固定計算量で実行可能であればそれは O(1) です。
https://wandbox.org/permlink/AHWR4LIjkMCvWuZE
insert, remove 実装のコードだけここに貼ります。全てのコードは上記で確認願います。
--------------------------------
node *insert(node *target, int value) // ノードを target の直後へ挿入
{
node *n = new node;
n->value = value;
n->prev = target;
n->next = (target != nullptr) ? target->next : nullptr;
if (n->prev != nullptr) n->prev->next = n;
if (n->next != nullptr) n->next->prev = n;
if (head == nullptr) head = n;
if (tail == target) tail = n;
return n;
}
void remove(node *n) // 指定ノードを削除
{
if (n->next != nullptr) n->next->prev = n->prev;
if (n->prev != nullptr) n->prev->next = n->next;
delete n;
}
C++ vs Rust
■ このスレッドは過去ログ倉庫に格納されています
494デフォルトの名無しさん
2021/11/28(日) 21:42:26.92ID:8j2GjV45■ このスレッドは過去ログ倉庫に格納されています
ニュース
- JA担当者「もう倉庫にコメが入らない」新米も過剰生産。。新米3000円割れが見えてきた [Gecko★]
- 【W杯】出場枠増えたアジア勢は“日本以外”苦戦…すでに敗退多く直近は5連敗、7戦勝ちなし 次回以降の出場枠議論の過熱も [征夷大将軍★]
- 【米紙報道】高市首相「コングレッショナルフェロー(官職)」経歴詐称疑惑… ★9 [BFU★]
- 【W杯】韓国が南アに敗退 3位でGL終了 ラウンド32進出は他試合結果次第に 3連勝メキシコが首位&南アフリカが初の決勝Tへ ★4 [阿弥陀ヶ峰★]
- 「東京一極集中は悪だ!」と叫ぶ人が見落とす決定的に重要な事実 [七波羅探題★]
- 【速報】 ベネズエラでM7超地震、死者数は最大10万人にのぼる可能性、大統領代行が非常事態宣言 ★2 [お断り★]
- 【実況】博衣こよりのえちえち栄冠ナイン2026🧪
- 【動画】ヤン・ウェンリー「最悪の民主政治でも、最良の先制政治より勝ると思っている」⇐作者の浅はかさが垣間見えるよな? [341841737]
- 【高市解散】日本人のコンビニ離れ急加速 「高いけど便利」の限界ライン超え 未だ利用するのは情弱のみという時代に [169920436]
- デブみこカーニバル3🏡🌸
- 本→田→圭→佑 完成で日本がスウェーデンに5−1大勝で1位突破
- ANAさん、炎上につぐ炎上の末、上級会員用クレカ「SFC」の改悪をギブアップしてしまうwwwwwwwwwwww [199590541]