C#
 Computer >> コンピューター >  >> プログラミング >> C#

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番目の要素を効率的に削除することができます。

  1. 【Android】ListViewのArrayListから要素を削除する方法をわかりやすく解説

    この記事では、AndroidアプリにおいてListViewに表示しているArrayListから要素を削除する方法を、サンプルコード付きで段階的に解説します。名前を入力して保存し、一覧から削除するというシンプルなデモを通じて、ArrayListとArrayAdapterの基本的な操作を学べます。手順1:新規プロジェクトを作成するまずはAndroid Studioで新しいプロジェクトを作成しましょう。メニューから「File」→「New Project」を選択し、必要な情報を入力してプロジェクトを作成します。手順2:レイアウトファイル(activity_main.xml)を作成する次に、res/la

  2. Pythonで文字列から文字を削除する方法|スライス・replace・正規表現の使い分け

    Pythonで文字列から特定の文字を削除したい場面はよくあります。目的に応じていくつかの方法があるため、それぞれの特徴と使い方を解説します。 特定のインデックスの文字を削除する(スライス) 文字列の中から指定した位置(インデックス)の1文字だけを削除したい場合は、文字列スライスを使うのが最もシンプルです。削除したい位置の前後をつなぎ合わせることで、その文字だけを取り除いた新しい文字列を作成できます。 >>> s = Hello World >>> s[:4] + s[5:] Hell World この例では、インデックス4にある「o」を除外し、それ以外の部