Khi cần kiểm tra xem hai danh sách được liên kết có giống nhau hay không, một phương pháp để thêm các phần tử vào danh sách được liên kết và một phương pháp để kiểm tra sự bình đẳng của các phần tử trong danh sách được liên kết được xác định.
Dưới đây là một minh chứng cho điều tương tự -
Ví dụ
Nútclass 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 check_equality(list_1, list_2): curr_1 = list_1.head curr_2 = list_2.head while (curr_1 and curr_2): if curr_1.data != curr_2.data: return False curr_1 = curr_1.next curr_2 = curr_2.next if curr_1 is None and curr_2 is None: return True else: return False my_linked_list_1 = LinkedList_structure() my_linked_list_2 = LinkedList_structure() my_list = input('Enter the elements of the first linked list: ').split() for elem in my_list: my_linked_list_1.add_vals(int(elem)) my_list = input('Enter the elements of the second linked list: ').split() for elem in my_list: my_linked_list_2.add_vals(int(elem)) if check_equality(my_linked_list_1, my_linked_list_2): print('The two linked lists are the same') else: print('The two linked list are not same')
Đầu ra
Enter the elements of the first linked list: 34 56 89 12 45 Enter the elements of the second linked list: 57 23 78 0 2 The two linked list are not same
Giải thích
-
Lớp 'Node' được tạo.
-
Một lớp ‘LinkedList_ architects’ khác với các thuộc tính bắt buộc được tạo.
-
Nó có chức năng ‘init’ được sử dụng để khởi tạo phần tử đầu tiên, tức là ‘head’ thành ‘None’ và ‘last_node’ thành ‘None’.
-
Một phương thức có tên là ‘add_vals’ được xác định, giúp thêm một giá trị vào ngăn xếp.
-
Một phương thức khác có tên là ‘check_equality’ được xác định, giúp kiểm tra xem các phần tử trong hai danh sách được liên kết có giống nhau hay không.
-
Nó trả về True hoặc False tùy thuộc vào đẳng thức.
-
Hai phiên bản của ‘LinkedList_ architects’ được tạo.
-
Các phần tử được thêm vào hai danh sách được liên kết.
-
Phương thức 'check_equality' được gọi trong hai danh sách được liên kết này.
-
Đầu ra được hiển thị trên bảng điều khiển.