- ノードの作成: リンクリストの各要素はノードと呼ばれ、データと次のノードへのポインタを保持します。まず、ノードを表すクラスを作成しましょう。
class Node {
public:
int data;
Node* next;
};
- リンクリストの作成と操作: リンクリストは、ノードの集まりであり、最初のノード(ヘッド)を指すポインタが必要です。
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;
}
};
- リンクリストの使用例: 以下は、上記のリンクリストの使用例です。
int main() {
LinkedList myList;
myList.addNode(5);
myList.addNode(10);
myList.addNode(15);
myList.addNode(20);
myList.displayList();
return 0;
}
上記のコードでは、リンクリストを作成し、4つの要素を追加して表示しています。この例では、リンクリストの基本的な操作方法を示していますが、さまざまな操作を追加できます(要素の挿入、削除など)。
このようにして、C++でリンクリストを実装し、基本的な操作を行うことができます。これは、データの挿入や削除が頻繁に発生する場合や、動的なデータ構造が必要な場合に特に有用です。