Hướng dẫn print a linked list in python - in một danh sách được liên kết trong python
Nếu tôi đã tạo một danh sách các nút được liên kết có thuộc tính class Node(object): def __init__(self, data=None, next_node=None): self.data = data self.next_node = next_node0, có cách nào để in tất cả các thuộc tính class Node(object): def __init__(self, data=None, next_node=None): self.data = data self.next_node = next_node0 cho tất cả các nút trong danh sách được liên kết bằng cách sử dụng vòng lặp trong thời gian không? Show
[Chỉnh sửa] Ngoài ra, làm thế nào tôi có thể gọi phương pháp phép thuật ITER để tôi có thể lặp lại và in qua danh sách được liên kết? Làm thế nào tôi cũng có thể tạo một phương thức cho phép bổ sung, ở đầu, kết thúc hoặc trước hoặc sau một đối tượng nhất định?iter magic method so that I can iterate and print over the linked list? How also might I create a method that allows for additions, at the beginning, end, or before or after a certain object? (Tôi xin lỗi nếu có một cái gì đó cơ bản, về mặt khái niệm, mà tôi đang thiếu trong sự hiểu biết của tôi) Dưới đây là mã cho các nút và danh sách liên kết đơn mà tôi đã thiết lập và bạn sẽ thấy rằng tôi đã in từng giá trị cho mỗi nút ở phía dưới. Tuy nhiên, tôi không chắc chắn nếu có một cách đơn giản để in tất cả các giá trị dễ dàng, thay vì liệt kê từng giá trị:
Cảm ơn cộng đồng Stack đã giúp đỡ và đọc sách! Danh sách được liên kết trong Python là một trong những loại dữ liệu trừu tượng thú vị nhất đã tiếp tục được phổ biến kể từ ngày C/C ++. Trong bài viết này, chúng tôi sẽ học cách thực hiện một danh sách được liên kết trong Python từ đầu. in Python are one of the most interesting abstract data types that have continued to stay in popularity since the C/C++ days. In this article, we’ll learn how to implement a Linked list in Python from scratch. Danh sách được liên kết là cấu trúc dữ liệu tuyến tính trong đó mỗi phần tử là một đối tượng riêng biệt. Các yếu tố của một danh sách được liên kết, không giống như một mảng, không được lưu trữ cùng nhau trong bộ nhớ. linked list is a linear data structure where
each element is a separate object. The elements of a linked list, unlike an array, are not stored together in the memory. Mỗi yếu tố của danh sách được liên kết trỏ đến phần tử sau nó. Ở đây các điểm có nghĩa là mỗi phần tử lưu trữ địa chỉ của phần tử tiếp theo. stores the address of the next element. Trong khi đi qua một danh sách được liên kết, chúng tôi sử dụng các gợi ý này để nhảy từ nút này sang nút khác. Đối với mỗi danh sách được liên kết, có hai yếu tố cần được xem xét: Hãy cùng đi qua các bước để tạo một danh sách được liên kết trong Python. Để tạo danh sách được liên kết của riêng chúng tôi, chúng tôi cần xác định một lớp nút. Trước khi chúng tôi xác định một lớp nút, chúng tôi cần phải suy nghĩ về những trường nên lớp nào. Một nút danh sách được liên kết được cho là để lưu trữ hai thứ. Đó là :
Hãy để xác định một lớp nút với hai trường này. class Node(object): def __init__(self, data=None, next_node=None): self.data = data self.next_node = next_node Tạo lớp danh sách liên kếtHãy để Lừa tạo một lớp khác sẽ khởi tạo một nút trống để tạo danh sách được liên kết. class LinkedList(object): def __init__(self, head=None): self.head = head Có một vài chức năng quan trọng sẽ được tổ chức trong lớp này. Hãy cùng vượt qua mục đích và định nghĩa cho từng lớp này. 1. Chức năng in danh sáchHãy để viết một chức năng để in danh sách được liên kết của chúng tôi. Để in danh sách được liên kết, chúng ta cần đi qua toàn bộ danh sách và tiếp tục in dữ liệu từ mỗi nút. def printList(self): temp = self.head while (temp): print (temp.data, " -> ", end = '') temp = temp.next_node print("") 2. Nhận kích thước của danh sáchHãy để viết một chức năng trả về kích thước của danh sách được liên kết. Để tính toán kích thước, chúng ta cần đi qua toàn bộ danh sách và giữ một quầy trong khi làm như vậy. def size(self): current = self.head count = 0 while current: count += 1 current = current.next_node return count Hàm này sẽ trả về kích thước của danh sách được liên kết. 3. Chèn một nút mới ở đầuHãy để viết một chức năng để chèn một nút mới ở đầu. def insert_at_head(self, data): new_node = Node(data) new_node.next_node = self.head self.head = new_node Điều này sẽ tạo ra một nút mới với dữ liệu và thêm nó trước đầu. Sau đó, nó trỏ đầu của danh sách được liên kết vào nút mới này. 4. Nhận nút tiếp theoHàm để có được nút tiếp theo được đưa ra dưới đây: def get_next_node (self,node): return node.next_node.data Tạo một danh sách được liên kết mớiHãy cùng viết chức năng chính và tạo một danh sách được liên kết bằng cách sử dụng lớp chúng tôi đã tạo ở trên. Dòng mã này khởi tạo đối tượng LLIST bằng một nút trống. 1. Thêm nútHãy để thêm một số dữ liệu vào nút này. Tạo một vài nút khác cho danh sách được liên kết. 2. Tạo liên kết giữa các nútTạo liên kết giữa các nút riêng lẻ là phần quan trọng nhất trong việc tạo danh sách được liên kết. Bạn có thể tạo các liên kết bằng cách sử dụng: llist.head.next_node = s s.next_node = t 3. In các nút của danh sáchĐể xác minh xem danh sách có được tạo thành công hay không, chúng ta có thể sử dụng chức năng in. Output: 4. xuất trình kích thước của danh sáchĐể xuất kích thước của danh sách, hãy gọi hàm kích thước chúng tôi đã viết ở trên. Đầu ra: 5. Chèn một nút mớiHãy cùng thử chèn một số dữ liệu ở đầu danh sách được liên kết bằng cách sử dụng chức năng ở trên. Chúng tôi có thể in danh sách để xác minh. Đầu ra: 5. Chèn một nút mớiHãy cùng thử chèn một số dữ liệu ở đầu danh sách được liên kết bằng cách sử dụng chức năng ở trên. print(llist.get_next_node(s)) Output: Chúng tôi có thể in danh sách để xác minh.6. Nhận nút tiếp theo class Node(object): def __init__(self, data=None, next_node=None): self.data = data self.next_node = next_node class LinkedList(object): def __init__(self, head=None): self.head = head def size(self): current = self.head count = 0 while current: count += 1 current = current.next_node return count def printList(self): temp = self.head while (temp): print (temp.data, " -> ", end = '') temp = temp.next_node print("") def insert_at_head(self, data): new_node = Node(data) new_node.next_node = self.head self.head = new_node def get_next_node (self,node): return node.next_node.data if __name__=='__main__': llist = LinkedList() llist.head = Node(1) s = Node(2) t = Node(3) llist.head.next_node = s; s.next_node = t llist.printList() print(s.data) print(llist.size()) print(llist.get_next_node(s)) llist.insert_at_head(5) llist.printList() Để có được nút tiếp theo:Hoàn thành thực hiện các danh sách được liên kết trong Python Làm thế nào để bạn in một danh sách được liên kết trong Python?Tạo lớp danh sách liên kết.. Chức năng để in danh sách.Hãy viết một chức năng để in danh sách được liên kết của chúng tôi..... Nhận kích thước của danh sách.Hãy viết một hàm trả về kích thước của danh sách được liên kết..... Chèn một nút mới ở đầu.Hãy viết một chức năng để chèn một nút mới ở đầu..... Nhận nút tiếp theo .. Làm cách nào để in một danh sách được liên kết?Printelement.java Cho một con trỏ đến nút đầu của danh sách được liên kết, in các phần tử của nó theo thứ tự, một phần tử trên mỗi dòng.Nếu con trỏ đầu là null (biểu thị danh sách trống), đừng in bất cứ thứ gì.Phương thức in void (đầu nút*) lấy nút đầu của danh sách được liên kết làm tham số.void Print(Node* head) method takes the head node of a linked list as a parameter.
Làm thế nào để bạn trả lại một danh sách được liên kết trong Python?Hàm sau được sử dụng để thêm một mục ở cuối danh sách được liên kết.def insert_at_end (self, data): new_node = node (dữ liệu) nếu tự.start_node là không có: tự.start_node = new_node return n = self. |