- Pythonでの実装例:
class Node:
def __init__(self, data):
self.data = data
self.prev = None
self.next = None
class DoublyLinkedList:
def __init__(self):
self.head = None
def append(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
current = self.head
while current.next is not None:
current = current.next
current.next = new_node
new_node.prev = current
def print_list(self):
current = self.head
while current is not None:
print(current.data)
current = current.next
# ダブルリンクリストの作成とノードの挿入
dll = DoublyLinkedList()
dll.append(1)
dll.append(2)
dll.append(3)
# リストの表示
dll.print_list()
- C++での実装例:
#include <iostream>
struct Node {
int data;
Node* prev;
Node* next;
};
class DoublyLinkedList {
private:
Node* head;
public:
DoublyLinkedList() {
head = nullptr;
}
void append(int data) {
Node* new_node = new Node;
new_node->data = data;
new_node->prev = nullptr;
new_node->next = nullptr;
if (head == nullptr) {
head = new_node;
} else {
Node* current = head;
while (current->next != nullptr) {
current = current->next;
}
current->next = new_node;
new_node->prev = current;
}
}
void printList() {
Node* current = head;
while (current != nullptr) {
std::cout << current->data << std::endl;
current = current->next;
}
}
};
int main() {
DoublyLinkedList dll;
dll.append(1);
dll.append(2);
dll.append(3);
dll.printList();
return 0;
}
これらのコード例を使用すると、ダブルリンクリストの末尾にノードを挿入することができます。コードを実行すると、リストの要素が表示されます。
この記事では、ダブルリンクリストへのノードの挿入方法を紹介しました。他のプログラミング言語でも同様の手法が使えますので、自分の使用している言語に合わせて実装してみてください。