queue in python

redmeercat787

New member
## Hàng đợi trong Python

Hàng đợi là một cấu trúc dữ liệu tuyến tính trong đó các phần tử được thêm vào một đầu (được gọi là phía sau) và được loại bỏ khỏi đầu kia (được gọi là mặt trước).Hàng đợi thường được sử dụng để triển khai danh sách chờ hoặc để lưu trữ dữ liệu sẽ được xử lý theo thứ tự đầu tiên, đầu tiên (FIFO).

Trong Python, hàng đợi có thể được triển khai bằng mô -đun `hàng đợi`.Mô -đun `Hàng đợi` cung cấp hai loại hàng đợi:

*** Hàng đợi FIFO **, được triển khai bằng lớp `Queue`
*** Hàng đợi ưu tiên **, được triển khai bằng lớp `ưu tiên`

Chúng tôi sẽ tập trung vào hàng đợi FIFO trong bài viết này.

### Tạo hàng đợi

Để tạo hàng đợi, bạn có thể sử dụng hàm tạo `hàng đợi ()`.Trình xây dựng `Hàng đợi ()` có một đối số tùy chọn chỉ định kích thước tối đa của hàng đợi.Nếu kích thước tối đa không được chỉ định, hàng đợi sẽ phát triển vô thời hạn.

Ví dụ: mã sau đây tạo ra một hàng đợi với kích thước tối đa là 10:

`` `Python
Hàng đợi = Hàng đợi (10)
`` `

### Thêm phần tử vào hàng đợi

Bạn có thể thêm các phần tử vào hàng đợi bằng phương thức `put ()`.Phương thức `put ()` lấy một phần tử làm đối số của nó.

Ví dụ: mã sau đây thêm các số 1, 2 và 3 vào hàng đợi:

`` `Python
Hàng đợi.put (1)
Hàng đợi.put (2)
Hàng đợi.put (3)
`` `

### Xóa các yếu tố khỏi hàng đợi

Bạn có thể xóa các phần tử khỏi hàng đợi bằng phương thức `get ()`.Phương thức `get ()` trả về phần tử tiếp theo từ hàng đợi.

Ví dụ: mã sau sẽ loại bỏ các số 1, 2 và 3 khỏi hàng đợi:

`` `Python
print (foUe.get ())
print (foUe.get ())
print (foUe.get ())
`` `

### Lớp `Queue` cũng cung cấp một số phương thức khác, bao gồm:

* `trống ()`: trả về đúng nếu hàng đợi trống, sai nếu không
* `FULL ()`: Trả về đúng nếu hàng đợi đầy, sai nếu không
* `size ()`: Trả về số lượng phần tử trong hàng đợi

### Hàng đợi ưu tiên

Hàng đợi ưu tiên là một loại hàng đợi trong đó các yếu tố được đặt hàng theo mức độ ưu tiên của chúng.Các yếu tố có mức độ ưu tiên cao hơn được loại bỏ khỏi hàng đợi trước các yếu tố có mức độ ưu tiên thấp hơn.

Mô -đun `Hàng đợi` cung cấp lớp` Priorityqueue` để thực hiện các hàng đợi ưu tiên.Lớp `Priorityqueue` có một đối số tùy chọn chỉ định hàm được sử dụng để so sánh các ưu tiên của các yếu tố.Nếu hàm không được chỉ định, hàm mặc định được sử dụng, so sánh các phần tử bằng phương thức `__lt __ ()` của chúng.

Ví dụ: mã sau đây tạo ra một hàng đợi ưu tiên đặt hàng các yếu tố theo tuổi của họ:

`` `Python
Hàng đợi = ưu tiên ()

def compare_ages (Element1, Element2):
return phần tử1.age - phần tử2.age

hàng đợi.put ((10, "john"), so sánh_ages)
Hàng đợi.put ((20, "Mary"), so sánh_ages)
hàng đợi.put ((30, "susan"), so sánh_ages)

print (foUe.get ())
print (foUe.get ())
print (foUe.get ())
`` `

### hashtags

* #Python
* #xếp hàng
* #cấu trúc dữ liệu
* #Programming
* #Algorithms
=======================================
## Queue in Python

A queue is a linear data structure in which elements are added to one end (called the rear) and removed from the other end (called the front). Queues are often used to implement waiting lists or to store data that will be processed in a first-in, first-out (FIFO) order.

In Python, queues can be implemented using the `queue` module. The `queue` module provides two types of queues:

* **FIFO queues**, which are implemented using the `Queue` class
* **priority queues**, which are implemented using the `PriorityQueue` class

We will focus on FIFO queues in this article.

### Creating a queue

To create a queue, you can use the `Queue()` constructor. The `Queue()` constructor takes an optional argument that specifies the maximum size of the queue. If the maximum size is not specified, the queue will grow indefinitely.

For example, the following code creates a queue with a maximum size of 10:

```python
queue = Queue(10)
```

### Adding elements to a queue

You can add elements to a queue using the `put()` method. The `put()` method takes an element as its argument.

For example, the following code adds the numbers 1, 2, and 3 to a queue:

```python
queue.put(1)
queue.put(2)
queue.put(3)
```

### Removing elements from a queue

You can remove elements from a queue using the `get()` method. The `get()` method returns the next element from the queue.

For example, the following code removes the numbers 1, 2, and 3 from a queue:

```python
print(queue.get())
print(queue.get())
print(queue.get())
```

### The `Queue` class also provides a number of other methods, including:

* `empty()`: Returns True if the queue is empty, False otherwise
* `full()`: Returns True if the queue is full, False otherwise
* `size()`: Returns the number of elements in the queue

### Priority queues

Priority queues are a type of queue in which elements are ordered by their priority. Elements with higher priority are removed from the queue before elements with lower priority.

The `queue` module provides the `PriorityQueue` class for implementing priority queues. The `PriorityQueue` class takes an optional argument that specifies the function used to compare the priorities of elements. If the function is not specified, the default function is used, which compares the elements using their `__lt__()` method.

For example, the following code creates a priority queue that orders elements by their age:

```python
queue = PriorityQueue()

def compare_ages(element1, element2):
return element1.age - element2.age

queue.put((10, "John"), compare_ages)
queue.put((20, "Mary"), compare_ages)
queue.put((30, "Susan"), compare_ages)

print(queue.get())
print(queue.get())
print(queue.get())
```

### Hashtags

* #Python
* #queue
* #data-structures
* #Programming
* #Algorithms
 
Join ToolsKiemTrieuDoGroup
Back
Top
AdBlock Detected

We get it, advertisements are annoying!

Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

I've Disabled AdBlock