C#でヘッドノードからn番目の要素を削除する方法
はじめに
まず、リンクリスト(連結リスト)を作成し、いくつかの要素を追加します。
Demo list = new Demo(); list.Push(50); list.Push(100); list.Push(150);
ヘッドノードからn番目の要素を削除するには、削除したいノードの位置(値)を渡します。例えば「1」を指定した場合、ヘッドノードそのものが削除されます。
サンプルコード
if (val == 1) {
head = head.Next;
return;
}
// nは削除したいノードの直前のノードを指します
Node n = head;
// mは削除対象となるノードです
Node m = head.Next;
for (int i = 2; i < val; i++) {
n = n.Next;
m = m.Next;
}
n.Next = m.Next;上記のコードでは、削除したいノードの直前のノードを指し示すために、次のように設定しています。
Node n = head;
処理の流れの解説
このアルゴリズムでは、まず「val == 1」の場合を特別扱いし、ヘッドノードをその次のノードに付け替えることで先頭要素を削除しています。
それ以外の場合は、2つのポインタを用意します。「n」は削除対象ノードの直前のノード、「m」は削除対象となるノードを指します。forループによって両方のポインタを目的の位置まで同時に進め、最後にn.Next = m.Next;を実行することで、削除対象ノードmをリンクチェーンから切り離します。
この方法により、リンクリスト内の任意のn番目の要素を効率的に削除することができます。
-
【Android】ListViewのArrayListから要素を削除する方法をわかりやすく解説
この記事では、AndroidアプリにおいてListViewに表示しているArrayListから要素を削除する方法を、サンプルコード付きで段階的に解説します。名前を入力して保存し、一覧から削除するというシンプルなデモを通じて、ArrayListとArrayAdapterの基本的な操作を学べます。手順1:新規プロジェクトを作成するまずはAndroid Studioで新しいプロジェクトを作成しましょう。メニューから「File」→「New Project」を選択し、必要な情報を入力してプロジェクトを作成します。手順2:レイアウトファイル(activity_main.xml)を作成する次に、res/la
-
Pythonで文字列から文字を削除する方法|スライス・replace・正規表現の使い分け
Pythonで文字列から特定の文字を削除したい場面はよくあります。目的に応じていくつかの方法があるため、それぞれの特徴と使い方を解説します。 特定のインデックスの文字を削除する(スライス) 文字列の中から指定した位置(インデックス)の1文字だけを削除したい場合は、文字列スライスを使うのが最もシンプルです。削除したい位置の前後をつなぎ合わせることで、その文字だけを取り除いた新しい文字列を作成できます。 >>> s = Hello World >>> s[:4] + s[5:] Hell World この例では、インデックス4にある「o」を除外し、それ以外の部