2つのリンクリストの対応する位置付けされた要素を追加するPythonプログラム
2つのリンクリスト内の特定の位置の対応する要素を追加する必要がある場合、リンクリストに要素を追加する方法、リンクリストの要素を印刷する方法、およびリンクの対応する位置に要素を追加する方法リストが定義されています。 2つのリストインスタンスが作成され、以前に定義されたメソッドがこれらのリンクリストインスタンスで呼び出されます。
以下は同じのデモンストレーションです-
例
class Node: def __init__(self, data): self.data = data self.next = None class LinkedList_structure: def __init__(self): self.head = None self.last_node = None def add_vals(self, data): if self.last_node is None: self.head = Node(data) self.last_node = self.head else: self.last_node.next = Node(data) self.last_node = self.last_node.next def print_it(self): curr = self.head while curr is not None: print(curr.data) curr = curr.next def add_linked_list(my_list_1, my_list_2): sum_list = LinkedList_structure() curr_1 = my_list_1.head curr_2 = my_list_2.head while (curr_1 and curr_2): sum_val = curr_1.data + curr_2.data sum_list.add_vals(sum_val) curr_1 = curr_1.next curr_2 = curr_2.next if curr_1 is None: while curr_2: sum_list.add_vals(curr_2.data) curr_2 = curr_2.next else: while curr_1: sum_list.add_vals(curr_1.data) curr_1 = curr_1.next return sum_list my_list_1 = LinkedList_structure() my_list_2 = LinkedList_structure() my_list = input('Enter the elements of the first linked list : ').split() for elem in my_list: my_list_1.add_vals(int(elem)) my_list = input('Enter the elements of the second linked list : ').split() for elem in my_list: my_list_2.add_vals(int(elem)) sum_list = add_linked_list(my_list_1, my_list_2) print('The sum of elements in the linked list is ') sum_list.print_it()です。
出力
Enter the elements of the first linked list : 56 34 78 99 54 11 Enter the elements of the second linked list : 23 56 99 0 122 344 The sum of elements in the linked list is 79 90 177 99 176 355
説明
-
「Node」クラスが作成されます。
-
必要な属性を持つ別の「LinkedList_structure」クラスが作成されます。
-
最初の要素、つまり「head」を「None」に初期化するために使用される「init」関数があります。
-
スタックに値を追加するのに役立つ「add_vals」という名前のメソッドが定義されています。
-
リンクリストの値を表示するのに役立つ「print_it」という名前の別のメソッドが定義されています。
-
「add_linked_list」という名前の別のメソッドが定義されています。これは、2つのリンクリストの対応する要素を追加するのに役立ちます。
-
「LinkedList_structure」の2つのインスタンスが作成されます。
-
両方のリンクリストに要素が追加されます。
-
「add_linked_list」メソッドは、これらのリンクリストで呼び出されます。
-
出力はコンソールに表示されます。
-
Pythonのリンクリスト間でマージするプログラム
それぞれ長さmとnの2つのリンクリストL1とL2があるとすると、2つの位置aとbもあります。 L1からa番目のノードからノードb番目のノードにノードを削除し、その間にL2をマージする必要があります。 したがって、入力がL1 =[1,5,6,7,1,6,3,9,12] L2 =[5,7,1,6] a =3 b =6の場合、出力は次のようになります。 [1、5、6、5、7、1、6、9、12] これを解決するには、次の手順に従います- head2:=L2、temp:=L2 tempに次のノードがある間、 temp:=次のtemp tail2:=temp count:=0
-
Pythonを使用してリンクリストとして指定された2つの多項式を追加するプログラム
2つの多項式が与えられ、2つの多項式の加算を見つける必要があるとします。多項式は、リンクリストとして表す必要があります。多項式の項は、リンクリストノードとして表されます。各リンクリストノードには、係数値、電力値、および次のリンクリストノードへのポインターが含まれます。 2つのリンクリスト多項式を追加した3番目のリンクリストを返す必要があります。 したがって、入力が次のような場合 1x ^ 1 + 1x ^ 2=0および2x^1 + 3x ^ 0 =0、 その場合、出力は3x ^ 1 + 1x ^ 2 + 3x ^ 0 =0になります。 これを解決するには、次の手順に従います-