トップページ > プログラム > 2014年12月02日 > 2ZrIs2MN

書き込み順位&時間帯一覧

40 位/213 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000112



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C#, C♯, C#相談室 Part85

書き込みレス一覧

C#, C♯, C#相談室 Part85
552 :デフォルトの名無しさん[]:2014/12/02(火) 22:21:11.69 ID:2ZrIs2MN
LinkedList<T>は双方向リストを表現してますよね。
この双方向リストの中に入ってる要素はLinkedListNode<T>になってて
ListだとO(n)かかる処理をO(1)で出来るってことだから
今までListで書いてた部分をLinkedListで書き変えようとしてます。

具体的な処理としては
@リスト内の特定の要素をいったん削除する
A削除した@の要素をリストに戻す
ということをやりたいんですが、
@の削除のためにRemove(hoge)を実行すると
hogeのPreviousやNextがnullになっちゃってて
戻したいとなっても戻すことができません。
どうしたらいいでしょうか?
ちなみにあらかじめPreviousとNextをコピーしておいて
Removeしたあとに設定しなおしてあげようと思ったら
PreviousもNextも読み込み専用で設定はできないみたいです。
さてどうしたもんか・・・。
C#, C♯, C#相談室 Part85
556 :デフォルトの名無しさん[]:2014/12/02(火) 23:31:06.32 ID:2ZrIs2MN
>>553,>>555
やっぱり自作するしかないですかね〜、よし自作しよう!

>>554
元あった場所にO(1)で戻すことができないんですよ
Removeが削除したノードのPreviousやNextを
nullにする意味ってないと思うんですけどね〜。
削除されたあとのリンクを繋ぎ直してくれるだけでいいのに、
余計なことをしてくれちゃうんだからもぅ〜。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。