Cho trước một danh sách liên kết L. Viết một hàm đếm số lượng phần tử của danh sách liên kết này.
Vận dụng kiến thức trong bài để trả lời câu hỏi.
class Node:
def __init__(self, key=None):
self.key = key
self.next = None
def dem_so_luong_phan_tu(head):
count = 0 # Khởi tạo biến đếm số lượng phần tử là 0
current = head # Đặt con trỏ current trỏ đến node đầu tiên của danh sách liên kết
while current is not None: # Duyệt qua từng node trong danh sách liên kết
count += 1 # Tăng biến đếm lên 1
current = current.next # Chuyển con trỏ current sang node kế tiếp trong danh sách liên kết
return count # Trả về số lượng phần tử đếm được
so_luong_phan_tu = dem_so_luong_phan_tu(L)
Các bài tập cùng chuyên đề
Em hãy tìm thêm các ví dụ thực tế của mô hình danh sách liên kết.
nh
Hoạt động 1 trang 137 Tin học 11: Em hãy đọc, thảo luận và trả lời các câu hỏi sau:
1. Vì sao lại cần thư viện chương trình?
2. Ý nghĩa của các hàm trong thư viện chương trình là gì?
Những câu nào sau đây là sai về ý nghĩa của việc sử dụng thư viện khi viết chương trình?
A. Chương trình sẽ ngắn hơn.
B. Các hàm thư viện được viết một lần và sử dụng nhiều lần.
C. Chương trình sẵn sàng, dễ hiểu hơn.
D. Chương trình sẽ chạy nhanh hơn.
Đọc, trao đổi và thảo luận để biết cấu trúc dữ liệu của danh sách liên kết và các thao tác dữ liệu cơ bản trên danh sách liên kết.
Đoạn chương trình sau thực hiện công việc gì?
from LinkedList import*
L=LL()
insert(L,10)
insert(L,20)
show(L)
Viết đoạn chương trình ngắn sử dụng thư viện LinkedList đề thiết lập một danh sách liên kết L và bổ sung các tên "Bình", "Hoa", "Hà" vào danh sách này.
Viết một thư viện bao gồm các hàm nhập dữ liệu là một dãy số và các hàm thư viện bao gồm sắp xếp chèn, sắp xếp chọn và sắp xếp nổi bọt.
Cho trước danh sách liên kết L với cấu trúc như đã mô tả trong bài học, muốn lấy ra khóa của node đầu tiên của danh sách thì dùng lệnh nào?
Viết hàm delete_Jast(L) có chức năng xóa phần tử cuối cùng của danh sách liên kết L.