データは、配列などの隣接するメモリ場所には保存されません。そして、リンクされたすべての要素はノードと呼ばれ、ポインターによって接続されます。ヘッドは、リンクのリストの最初のノードです。動的は、関連付けられたリストのサイズです。したがって、デバイス ストレージがなくても、必要な数のノードを持つことができます。2種類のリストがつながっています。ひとつひとつ丁寧にレッスンを見ていきましょう。
リンク リストには、次のノードに接続されたリンク リスト内の単一のポインターがあります。リンク リスト内の各ノードについて、データとポインターを格納する必要があります。リンク リストの末尾の次のインジケーターとしての Null には、リンク リストの最終ノードが含まれます。
まず、リンクリストノードが作成されます。Python クラスで簡単にノードを構築できます。クラスには、データと次のノード ポインターが含まれます。
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
class LinkedList:
def insert(self, new_node):
if self.head:
last_node = self.head
while last_node != None:
last_node = last_node.next
last_node.next = new_node
else:
self.head = new_node
class LinkedList:
def display(self):
temp_node = self.head
while temp_node != None:
print(temp_node.data, end='->')
temp_node = temp_node.next
print('Null')
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def insert(self, new_node):
if self.head:
last_node = self.head
while last_node.next != None:
last_node = last_node.next
last_node.next = new_node
else:
self.head = new_node
def display(self):
temp_node = self.head
while temp_node != None:
print(temp_node.data, end='->')
temp_node = temp_node.next
print('Null')
if __name__ == '__main__':
linked_list = LinkedList()
linked_list.insert(Node(1))
linked_list.insert(Node(2))
linked_list.insert(Node(3))
linked_list.insert(Node(4))
linked_list.insert(Node(5))
linked_list.insert(Node(6))
linked_list.insert(Node(7))
linked_list.display()
1->2->3->4->5->6->7->Null
二重にリンクされたリストには、前のノードに接続されているリンクされたリスト内の 2 つのインジケーターがあります。リンク リストの各ノードについて、データと 2 つのポイントを保存する必要があります。最初のノードはゼロであり、最後のノードの次のポイントはゼロであり、両側のリンクリストの終わりを示します。
二重リンク リストには、1 リンク リストを実装するための同等のメソッドも含まれています。繰り返しますが、同じことを説明するのは面倒です。すべてのステップでコードを調べれば、すぐに理解できます。
前のノード ポインター、データ、および二重リンク リストの次のノード ポインターを含むノードを作成します。
class Node:
def __init__(self, data):
self.prev = None
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
class LinkedList:
def insert(self, new_node):
if self.head:
last_node = self.head
while last_node.next != None:
last_node = last_node.next
new_node.prev = last_node
last_node.next = new_node
class LinkedList:
def display(self):
print("Normal Order: ", end='')
temp_node = self.head
while temp_node != None:
print(temp_node.data, end=' ')
temp_node = temp_node.next
print()
print("Reverse Order: ", end='')
last_node = self.head
while last_node.next != None:
last_node = last_node.next
temp_node = last_node
while temp_node != None:
print(temp_node.data, end=' ')
temp_node = temp_node.prev
print()
facebook.com にリクエストを送信すると、コンピュータはドメイン名を検索してそのドメイン名を IP アドレスに変換し、コンピュータが接続できるようにします。
2022 年に、私は非技術職からサイバーセキュリティの職に転職しました。私はドイツ語で最初の学位を取得しました 、あなたがショックを受け、私がどのようにしてドイツ語への移行に成功したかに興味を持っているのはわかりますが、それはたまたまです。
はじめに:勇敢な読者の皆さん、地球の最も暗い深みへ私たちを導く旅へようこそ。このブログでは、マリアナ海溝の謎に満ちた世界を掘り下げ、その隠された秘密を明らかにし、その表面の下にある骨も凍るような真実を明らかにします。
新しいキャリアへの転職は、一人でやろうとすると非常に困難になる可能性があります。あなたと同じ学習レベルにあり、同様の目標、粘り強さ、意欲を共有する責任パートナーを見つけることが重要です。
[警告: このエッセイには、ジョーダン ニーリー殺害の犯人を賞賛する人々のスクリーンショットが含まれています。] 法執行当局はついに、そしておそらくはしぶしぶではありましたが、ジョーダン ニーリーを死ぬまで首を絞めた男、ダニエル ペニーをその殺人罪で起訴しました。
大人になると、世界はそういうもので、あなたの人生はただ世界の中で生きていくだけで、決して命を危険にさらすことはなく、決められた道をたどって最後には死ぬだけで、失敗しないように努めるのだと言われがちです。壁を打ちすぎてはいけません。しかし、それは非常に限られた人生です。