Nguyễn Thị Thảo Vân | Chat Online
13/09 13:37:30

Để hiểu rõ hơn về danh sách liên kết và các thao tác trên danh sách liên kết, Tí thực hiện các thao tác thuộc hai loại sau: Loại 1: “Quay” k lần: tức là Tí sẽ lấy phần tử đầu tiên của danh sách liên kết và chèn nó vào sau phần tử cuối cùng, thực hiện k lần như vậy. Loại 2: Đảo ngược danh sách liên kết. Sau nhiều giờ lập trình, Ti tiến hành kiểm thử, tuy nhiên lại không tự tin vào kết quả của mình. Tí nhờ bạn code để đối chiếu kết quả. Biết rằng Tí đã cài sẵn danh sách liên kết trong một mô đun ...


Để hiểu rõ hơn về danh sách liên kết và các thao tác trên danh sách liên kết, Tí thực hiện các thao tác thuộc hai loại sau:

Loại 1: “Quay” k lần: tức là Tí sẽ lấy phần tử đầu tiên của danh sách liên kết và chèn nó vào sau phần tử cuối cùng, thực hiện k lần như vậy.

Loại 2: Đảo ngược danh sách liên kết.

Sau nhiều giờ lập trình, Ti tiến hành kiểm thử, tuy nhiên lại không tự tin vào kết quả của mình. Tí nhờ bạn code để đối chiếu kết quả.

Biết rằng Tí đã cài sẵn danh sách liên kết trong một mô đun và import nó vào trong chương trình. Danh sách liên kết này đảm bảo hoạt động chính xác. Tí cũng code sẵn phần xử lí nhập vào, in ra dữ liệu. Hãy hoàn thiện hai hàm rotate (quay mảng) và reverseList(đảo ngược).

Cấu trúc nút được định nghĩa như sau:

class Node:

def

init self.data self.next

(self, data):

= data

Giả sử có một biến tên node thuộc kiểu Node tượng trưng cho một nút trong danh sách liên kết. Để lấy nút tiếp theo, ta viết node.next; để lấy ra giá trị, ta viết node.data. Để tạo ra một nút mới có giá trị là value, ta viết

node = Node(value).

Hai hàm cần cài đặt được cung cấp tham số head: nút trỏ tới đầu của danh sách liên kết. Hàm trả về biến kiểu Node, trỏ tới phần tử đầu tiên của danh sách liên kết mới được thay đổi sau các truy ván.

Cụ thể hơn, các hàm này được định nghĩa như sau:

def rotate (head, k) -> Node: # Hoàn thiện phần thân hàm

def reverseList (head) -> Node: # Hoàn thiện phần thân hàm

Bài tập đã có 1 trả lời, xem 1 trả lời ... | Chính sách thưởng | Quy chế giải bài tập
Không chấp nhận lời giải copy từ Trợ lý ảo / ChatGPT. Phát hiện 1 câu cũng sẽ bị xóa tài khoản và không được thưởng
Đăng ký tài khoản để nhận Giải thưởng khi trả lời bài tập.
Đăng ký tài khoản để có thể trả lời bài tập này!

Đăng ký qua Facebook hoặc Google:

Hoặc lựa chọn:
Đăng ký bằng email, điện thoại Đăng nhập bằng email, điện thoại
Lazi.vn