Câu hỏi:
28/09/2024 9Theo em, có cách nào kiểm tra hàng đợi queue là rỗng mà không dùng hàm len (queue)?
Sách mới 2k7: 30 đề đánh giá năng lực DHQG Hà Nội, Tp. Hồ Chí Minh, BKHN 2025 mới nhất (600 trang - chỉ từ 160k).
Quảng cáo
Trả lời:
Có ba phương pháp sau đều giúp kiểm tra hàng đợi có rỗng hay không mà không cần sử dụng hàm len(queue). Tuy nhiên, phương pháp sử dụng boolean (not queue) là ngắn gọn và dễ hiểu nhất.
a). Sử dụng phép kiểm tra boolean: Danh sách rỗng trong Python sẽ trả về giá trị boolean là False, trong khi danh sách không rỗng sẽ trả về True. Do đó, bạn có thể kiểm tra hàng đợi bằng cách sử dụng điều kiện not.
if not queue:
print("Hàng đợi rỗng")
else:
print("Hàng đợi không rỗng")
b). So sánh trực tiếp với danh sách rỗng: có thể so sánh trực tiếp hàng đợi với danh sách rỗng []. Nếu chúng bằng nhau, nghĩa là hàng đợi đang rỗng.
if queue == []:
print("Hàng đợi rỗng")
else:
print("Hàng đợi không rỗng")
c). Sử dụng try-except để kiểm tra việc lấy phần tử đầu tiên: có thể thử lấy phần tử đầu tiên của hàng đợi bằng queue[0] và bắt lỗi nếu hàng đợi rỗng.
try:
first_element = queue[0]
print("Hàng đợi không rỗng")
except IndexError:
print("Hàng đợi rỗng")CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Trong Python, khi sử dụng kiểu list để biểu diễn hàng đợi. Hãy cho biết:
a) Chỉ số của phần tử đầu.
b) Chỉ số của phần tử cuối.
Câu 2:
Các phần tử trong hàng đợi biểu diễn bằng kiểu list trong Python có thể thuộc kiểu chuỗi hay không? Nếu có, sử dụng các hàm initQueue(), enqueue() để tạo hàng đợi có các phần tử như sau:
“Một” |
“Hai” |
“Ba” |
“Bốn” |
Sau đó sử dụng các hàm enqueue(), dequeue() để hang đợi có kết quả là:
“Bốn” |
“Ba” |
“Hai” |
“Một” |
“Không” |
Câu 3:
Cho Hình 4, biểu diễn một hàng đợi, hãy cho biết:
a) Phần tử đầu hàng đợi, phần tử cuối hàng đợi.
b) Sau khi lấy ra một phần tử, thì phần tử đầu hàng đợi là phần tử nào?
c) Sau khi thêm vào phần tử k vào thì phần tử cuối hàng đợi là phần tử nào?
Câu 4:
Cho hàng đợi rỗng, hãy vẽ hình minh hoạ từng bước thực hiện các thao tác sau: enqueue (1), enqueue (3), enqueue (5), dequeue (), dequeue (), enqueue (7).
Câu 5:
Câu 6:
Tại sao không cần sử dụng các chỉ số front, rear khi dùng kiểu list để biểu diễn hàng đợi trong Python?
Câu 7:
Gọi 084 283 45 85
Hỗ trợ đăng ký khóa học tại Vietjack
về câu hỏi!