Viết hàm delete_Jast(L) có chức năng xoá phần tử cuối cùng của danh sách liên kết L.

Câu hỏi 2. Viết hàm delete_Jast(L) có chức năng xoá phần tử cuối cùng của danh sách liên kết L.

Bài Làm:

Để xoá phần tử cuối cùng của danh sách liên kết ta cần duyệt từ đầu danh sách đến nút cuối cùng sau đó xoá nút cuối cùng và cập nhật con trỏ next của nút trước nó. Nếu danh sách rỗng hoặc chỉ có một phần tử thì ta chỉ cần xoá phần tử đó và trả về danh sách. Mã nguồn Python cho hàm delete_last() như sau:

def delete_last(L):
   # Nếu danh sách rỗng, trả về None
   if L is None:
       return None
   
   # Nếu danh sách chỉ có một phần tử, xoá phần tử đó và trả về danh sách
   if L.next is None:
       del L
       return None
   
   # Tìm nút cuối cùng và nút trước nó
   prev_node = None
   curr_node = L
   while curr_node.next is not None:
       prev_node = curr_node
       curr_node = curr_node.next
   
   # Xoá nút cuối cùng và cập nhật con trỏ next của nút trước nó
   prev_node.next = None
   del curr_node
   
   # Trả về danh sách đã được xoá phần tử cuối cùng
   return L

Xem thêm Bài tập & Lời giải

Trong: Giải Tin học 11 định hướng KHMT Kết nối bài 30 Thiết lập thư viện cho chương trình

Khởi động

Câu hỏi. 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.

Xem lời giải

1. Thiết lập lệnh cho chương trình 

Hoạt động 1: Tìm hiểu ý nghĩa của thư viện chương trình

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ì?

Xem lời giải

Câu hỏi. 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.

Xem lời giải

Câu hỏi 1. Đoạn hàm sau thực hiện công việc gì?

Giải Tin học 11 định hướng KHMT Kết nối bài 30 Thiết lập thư viện cho chương trình

Xem lời giải

Câu hỏi 2. 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.

Xem lời giải

Luyện tập

Câu hỏi 1. 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.

Xem lời giải

Câu hỏi 2. 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 khoá của node đầu tiên của danh sách thì dùng lệnh nào?

Xem lời giải

Vận dụng

Câu hỏi 1. 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.

Xem lời giải

2. Cấu trúc danh sách liên kết

Hoạt động 2: Tìm hiểu cấu trúc danh sách liên kết

Đọ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.

Xem lời giải

Xem thêm các bài Giải tin học 11 định hướng Khoa học máy tính kết nối tri thức, hay khác:

Xem thêm các bài Giải tin học 11 định hướng Khoa học máy tính kết nối tri thức được biên soạn cho Học kì 1 & Học kì 2 theo mẫu chuẩn của Bộ Giáo dục theo sát chương trình Lớp 11 giúp bạn học tốt hơn.

Lớp 11 | Để học tốt Lớp 11 | Giải bài tập Lớp 11

Giải bài tập SGK, SBT, VBT và Trắc nghiệm các môn học Lớp 11, dưới đây là mục lục các bài giải bài tập sách giáo khoa và Đề thi chi tiết với câu hỏi bài tập, đề kiểm tra 15 phút, 45 phút (1 tiết), đề thi học kì 1 và 2 (đề kiểm tra học kì 1 và 2) các môn trong chương trình Lớp 11 giúp bạn học tốt hơn.