C++でのリンクリストの実装方法


  1. ノードの作成: リンクリストの各要素はノードと呼ばれ、データと次のノードへのポインタを保持します。まず、ノードを表すクラスを作成しましょう。
class Node {
public:
    int data;
    Node* next;
};
  1. リンクリストの作成と操作: リンクリストは、ノードの集まりであり、最初のノード(ヘッド)を指すポインタが必要です。
class LinkedList {
private:
    Node* head;
public:
    LinkedList() {
        head = nullptr;
    }
// ノードの追加
    void addNode(int value) {
        Node* newNode = new Node();
        newNode->data = value;
        newNode->next = nullptr;
        if (head == nullptr) {
            head = newNode;
        } else {
            Node* temp = head;
            while (temp->next != nullptr) {
                temp = temp->next;
            }
            temp->next = newNode;
        }
    }
// リンクリストの表示
    void displayList() {
        Node* temp = head;
        while (temp != nullptr) {
            cout << temp->data << " ";
            temp = temp->next;
        }
        cout << endl;
    }
};
  1. リンクリストの使用例: 以下は、上記のリンクリストの使用例です。
int main() {
    LinkedList myList;
    myList.addNode(5);
    myList.addNode(10);
    myList.addNode(15);
    myList.addNode(20);
    myList.displayList();
    return 0;
}

上記のコードでは、リンクリストを作成し、4つの要素を追加して表示しています。この例では、リンクリストの基本的な操作方法を示していますが、さまざまな操作を追加できます(要素の挿入、削除など)。

このようにして、C++でリンクリストを実装し、基本的な操作を行うことができます。これは、データの挿入や削除が頻繁に発生する場合や、動的なデータ構造が必要な場合に特に有用です。