Khi hàng đợi được cài đặt bằng danh sách (kiểu list của Python), em hãy cho biết cách tính số phần tử của hàng đợi này.
Câu hỏi 1: Khi hàng đợi được cài đặt bằng danh sách (kiểu list của Python), em hãy cho biết cách tính số phần tử của hàng đợi này.
Khi hàng đợi (queue) được cài đặt bằng danh sách (list) trong Python, có thể tính số phần tử của hàng đợi này bằng cách sử dụng thuộc tính size mà ta đã định nghĩa trong lớp Queue. Thuộc tính size sẽ được cập nhật mỗi khi thực hiện các phép toán thêm vào (enqueue) hoặc lấy ra (dequeue).
● Gợi ý cách tính số phần tử của hàng đợi bằng cách truy cập thuộc tính size:
class Queue:
def __init__(self, capacity):
self.capacity = capacity
self.queue = [None] * capacity
self.front = 0
self.rear = -1
self.size = 0
def is_full(self):
return self.size == self.capacity
def is_empty(self):
return self.size == 0
def enqueue(self, item):
if self.is_full():
print("Queue is full")
return
self.rear = (self.rear + 1) % self.capacity
self.queue[self.rear] = item
self.size += 1
print(f"Enqueued {item}")
def dequeue(self):
if self.is_empty():
print("Queue is empty")
return None
item = self.queue[self.front]
self.front = (self.front + 1) % self.capacity
self.size -= 1
print(f"Dequeued {item}")
return item
def get_front(self):
if self.is_empty():
print("Queue is empty")
return None
return self.queue[self.front]
def get_rear(self):
if self.is_empty():
print("Queue is empty")
return None
return self.queue[self.rear]
def get_size(self):
return self.size
# Test the Queue
q = Queue(5)
q.enqueue(10)
q.enqueue(20)
q.enqueue(30)
print(f"Number of elements in the queue: {q.get_size()}") # Should print 3
q.dequeue()
print(f"Number of elements in the queue: {q.get_size()}") # Should print 2
● Trong chương trình trên ta có:
- Hàm enqueue thêm phần tử vào cuối hàng đợi và tăng size lên 1.
- Hàm dequeue lấy phần tử ra từ đầu hàng đợi và giảm size xuống 1.
- Hàm get_size trả về giá trị của thuộc tính size, tức là số phần tử hiện có trong hàng đợi.
Do đó, số phần tử trong hàng đợi luôn được theo dõi và cập nhật thông qua biến size, và ta có thể biết được số phần tử hiện có trong hàng đợi bất cứ lúc nào bằng cách gọi phương thức get_size.
Giải những bài tập khác
Giải bài tập những môn khác
Môn học lớp 12 kết nối tri thức
Soạn ngữ văn 12 kết nối tri thức
Văn mẫu 12 kết nối tri thức
Soạn ngữ văn 12 tập 1 kết nối tri thức
Soạn ngữ văn 12 tập 2 kết nối tri thức
Giải toán 12 kết nối tri thức
Giải toán 12 tập 1 kết nối tri thức
Giải toán 12 tập 2 kết nối tri thức
Giải vật lí 12 kết nối tri thức
Giải hóa học 12 kết nối tri thức
Giải sinh học 12 kết nối tri thức
Giải lịch sử 12 kết nối tri thức
Giải địa lí 12 kết nối tri thức
Giải kinh tế pháp luật 12 kết nối tri thức
Giải Công nghệ Lâm nghiệp - Thủy sản 12 kết nối tri thức
Giải Công nghệ điện - điện tử 12 Kết nối tri thức
Giải tin học 12 định hướng Tin học ứng dụng kết nối tri thức
Giải tin học 12 định hướng Khoa học máy tính kết nối tri thức
Giải âm nhạc 12 kết nối tri thức
Giải mĩ thuật 12 kết nối tri thức
Giải quốc phòng an ninh 12 kết nối tri thức
Giải hoạt động trải nghiệm hướng nghiệp 12 kết nối tri thức
Môn học lớp 12 chân trời sáng tạo
Soạn ngữ văn 12 chân trời sáng tạo
Văn mẫu 12 chân trời sáng tạo
Soạn ngữ văn 12 tập 1 chân trời sáng tạo
Soạn ngữ văn 12 tập 2 chân trời sáng tạo
Giải toán 12 chân trời sáng tạo
Giải toán 12 tập 1 chân trời sáng tạo
Giải toán 12 tập 2 chân trời sáng tạo
Giải vật lí 12 chân trời sáng tạo
Giải hóa học 12 chân trời sáng tạo
Giải sinh học 12 chân trời sáng tạo
Giải lịch sử 12 chân trời sáng tạo
Giải địa lí 12 chân trời sáng tạo
Giải kinh tế pháp luật 12 chân trời sáng tạo
Giải tin học 12 định hướng Tin học ứng dụng chân trời sáng tạo
Giải tin học 12 định hướng Khoa học máy tính chân trời sáng tạo
Giải âm nhạc 12 chân trời sáng tạo
Giải mĩ thuật 12 chân trời sáng tạo
Giải quốc phòng an ninh 12 chân trời sáng tạo
Giải hoạt động trải nghiệm hướng nghiệp 12 chân trời sáng tạo bản 1
Giải hoạt động trải nghiệm hướng nghiệp 12 chân trời sáng tạo bản 2
Môn học lớp 12 cánh diều
Soạn ngữ văn 12 cánh diều
Văn mẫu 12 cánh diều
Soạn ngữ văn 12 tập 1 cánh diều
Soạn ngữ văn 12 tập 2 cánh diều
Giải toán 12 cánh diều
Giải toán 12 tập 1 cánh diều
Giải toán 12 tập 2 cánh diều
Giải vật lí 12 cánh diều
Giải hóa học 12 cánh diều
Giải sinh học 12 cánh diều
Giải lịch sử 12 cánh diều
Giải địa lí 12 cánh diều
Giải kinh tế pháp luật 12 cánh diều
Giải Công nghệ điện - điện tử 12 Cánh diều
Giải Công nghệ Lâm nghiệp - Thủy sản 12 cánh diều
Giải tin học 12 định hướng Tin học ứng dụng cánh diều
Giải tin học 11 định hướng Khoa học máy tính cánh diều
Giải âm nhạc 12 cánh diều
Giải mĩ thuật 12 cánh diều
Giải quốc phòng an ninh 12 cánh diều
Giải hoạt động trải nghiệm hướng nghiệp 12 cánh diều
Giải chuyên đề học tập lớp 12 kết nối tri thức
Giải chuyên đề Ngữ văn 12 Kết nối tri thức
Giải chuyên đề Toán 12 Kết nối tri thức
Giải chuyên đề Vật lí 12 Kết nối tri thức
Giải chuyên đề Hóa học 12 Kết nối tri thức
Giải chuyên đề Sinh học 12 Kết nối tri thức
Giải chuyên đề Kinh tế pháp luật 12 Kết nối tri thức
Giải chuyên đề Lịch sử 12 Kết nối tri thức
Giải chuyên đề Địa lí 12 Kết nối tri thức
Giải chuyên đề Tin học ứng dụng 12 Kết nối tri thức
Giải chuyên đề Khoa học máy tính 12 Kết nối tri thức
Giải chuyên đề Công nghệ 12 Điện - điện tử Kết nối tri thức
Giải chuyên đề Công nghệ 12 Lâm nghiệp thủy sản Kết nối tri thức
Giải chuyên đề học tập lớp 12 chân trời sáng tạo
Giải chuyên đề Ngữ văn 12 Chân trời sáng tạo
Giải chuyên đề Toán 12 Chân trời sáng tạo
Giải chuyên đề Vật lí 12 Chân trời sáng tạo
Giải chuyên đề Hóa học 12 Chân trời sáng tạo
Giải chuyên đề Sinh học 12 Chân trời sáng tạo
Giải chuyên đề Kinh tế pháp luật 12 Chân trời sáng tạo
Giải chuyên đề Lịch sử 12 Chân trời sáng tạo
Giải chuyên đề Địa lí 12 Chân trời sáng tạo
Giải chuyên đề Tin học ứng dụng 12 Chân trời sáng tạo
Giải chuyên đề Khoa học máy tính 12 Chân trời sáng tạo
Giải chuyên đề Công nghệ 12 Điện - điện tử Chân trời sáng tạo
Giải chuyên đề Công nghệ 12 Lâm nghiệp thủy sản Chân trời sáng tạo
Giải chuyên đề học tập lớp 12 cánh diều
Giải chuyên đề Ngữ văn 12 Cánh diều
Giải chuyên đề Toán 12 Cánh diều
Giải chuyên đề Vật lí 12 Cánh diều
Giải chuyên đề Hóa học 12 Cánh diều
Giải chuyên đề Sinh học 12 Cánh diều
Giải chuyên đề Kinh tế pháp luật 12 Cánh diều
Giải chuyên đề Lịch sử 12 Cánh diều
Giải chuyên đề Địa lí 12 Cánh diều
Giải chuyên đề Tin học ứng dụng 12 Cánh diều
Giải chuyên đề Khoa học máy tính 12 Cánh diều
Giải chuyên đề Công nghệ 12 Điện - điện tử Cánh diều
Giải chuyên đề Công nghệ 12 Lâm nghiệp thủy sản Cánh diều
Bình luận