C#のLinkedList.AddFirstメソッドで先頭にノードを追加する方法
連結リスト(LinkedList)において、リストの先頭に新しいノードを追加したい場合は、AddFirst メソッドを使用します。このメソッドを使うことで、既存の要素をすべて後ろにずらすことなく、効率的に先頭へ要素を挿入できます。
LinkedListの準備
まずは、文字列型のLinkedListを作成してみましょう。配列をコンストラクタに渡すことで、初期要素を持つリストを簡単に生成できます。
string[] students = {"Jenifer", "Angelina", "Vera"};
LinkedList<string> list = new LinkedList<string>(students);AddFirstメソッドで先頭に要素を追加する
作成したリストの先頭に新しい要素を追加するには、AddFirst() メソッドを呼び出します。引数に追加したい値を指定するだけで、その値が最初のノードとして挿入されます。
list.AddFirst("Natalie");サンプルコード
以下は、AddFirstメソッドの動作を確認できる完全なサンプルプログラムです。追加前と追加後のリストの内容を出力して比較しています。
using System;
using System.Collections.Generic;
class Demo {
static void Main() {
string[] students = {"Jenifer", "Angelina", "Vera"};
LinkedList<string> list = new LinkedList<string>(students);
foreach (var stu in list) {
Console.WriteLine(stu);
}
// 先頭にノードを追加
Console.WriteLine("先頭にノードを追加しました...");
list.AddFirst("Natalie");
foreach (var stu in list) {
Console.WriteLine(stu);
}
}
}実行結果
Jenifer Angelina Vera 先頭にノードを追加しました... Natalie Jenifer Angelina Vera
ポイントまとめ
- AddFirstメソッドは、LinkedListの先頭に新しいノードを追加します。
- 逆に末尾に追加したい場合は、AddLast メソッドを使用します。
- LinkedListは双方向連結リストのため、先頭・末尾への追加・削除が O(1) の計算量で高速に行えます。
- 戻り値として追加されたノード(LinkedListNode<T>)が返されるため、そのノードを基準にさらに操作することも可能です。
-
【C#】String.Join()メソッドで文字列配列を連結する方法
String.Join()メソッドとはC#のString.Join()メソッドは、文字列配列のすべての要素を1つの文字列に連結するためのメソッドです。各要素の間には、引数で指定した区切り文字(セパレーター)が自動的に挿入されます。たとえば、区切り文字として改行コード「\n」を指定すれば、配列の各要素がそれぞれ別の行に配置された、複数行の文字列を簡単に作成できます。基本的な構文String.Join(\n, starray);第1引数: 要素間に挿入する区切り文字第2引数: 連結対象の文字列配列戻り値: 連結された1つの文字列サンプルコード以下は、5つの文字列要素を持つ配列を改行コードで連結し、
-
Pythonでタプルのリストを文字列にフラット化する方法
はじめにPythonでタプルのリスト(リスト内に含まれる複数のタプル)を文字列形式にフラット化したい場合、str関数とstripメソッドを組み合わせることで簡単に実現できます。まず前提として、リストは整数・浮動小数点数・文字列など、さまざまなデータ型の値を混在させて格納できる柔軟なデータ構造です。タプルのリストとは、リストの中に複数のタプルが格納されている状態を指します。strip() メソッド: 文字列の先頭と末尾から、指定した特定の文字を取り除きます。str() 関数: 引数として渡されたデータを文字列型に変換します。以下に具体的な実装例を示します。サンプルコードmy_list = [(1