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.

Câu hỏi:

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.

Câu trả lời:
Người trả lời: GV. Đỗ Thị Vương
Để 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.

Có thể viết hàm delete_last(L) như sau trong Python:

```python
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
```

Bạn chỉ cần gọi hàm `delete_last(L)` với danh sách liên kết `L` cần xoá phần tử cuối cùng để thực hiện việc xoá này.
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.04161 sec| 2188.922 kb