cuốn sách gpt4 ai đã làm

Cách tạo hàng đợi ưu tiên sử dụng các biến từ lớp tùy chỉnh (thứ tự tăng dần/giảm dần)

In lại Tác giả: Walker 123 Thời gian cập nhật: 27-11-2023 23:46:19 30 4
mua khóa gpt4 Nike

Tôi đang sử dụng C++ hàng_ưu tiên Tôi gặp sự cố, tôi có vectơ hàng đợi ưu tiên, hàng đợi ưu tiên chứa nhiều Người sự vật. bây giờ tôi hy vọng hàng_ưu tiên Theo độ tuổi Người Các đối tượng được ưu tiên. Vì vậy, tôi có một cái gì đó như thế này:

lớp học Người
{
công cộng:
tên chuỗi;
chiều cao int;
int tuổi;
};

std::vector<>> Người;

Làm cách nào để đảm bảo rằng bất cứ khi nào ai đó được thêm vào một trong các hàng ưu tiên, họ sẽ được ưu tiên dựa trên độ tuổi của họ? Làm cách nào để sắp xếp theo thứ tự tăng dần/giảm dần?

câu trả lời hay nhất

Bạn thực sự không cần thêm gói vectơ Prior_queue vì bản thân Prior_queue có 2 tham số mặc định bổ sung: (đầu tiên là loại, trong trường hợp của bạn là Person*), thứ hai là loại vùng chứa và thứ ba là vị từ So sánh. Dưới đây, bạn có thể thấy việc sử dụng hàm lambda làm vị từ so sánh cho hàng đợi ưu tiên.

#include 
#include
#include
#include

sử dụng không gian tên std;

lớp học Người
{
công cộng:
tên chuỗi;
chiều cao int;
int tuổi;

Người(chuỗi n, int h, int a): tên(n), chiều cao(h), tuổi(a) {}
};


ostream& operator<<(ostream &cout, const Person* p) {
trả về cout << p->name << " Height=" << p->height << " age=" << p->age << " ";
}

int chính()
{
auto cmp = [](const Person* pl, const Person* pr) {
return (pl->age < pr->age);
};

ưu tiên_queue, decltype(cmp)> người(cmp);

people.push(Người mới("a", 100, 10));
people.push(Người mới("b", 120, 20));
people.push(Người mới("c", 110, 15));

while (!persons.empty()) {
cout <
người.pop();
}

trả về 0;
}

Về c++ - Cách tạo hàng đợi ưu tiên sử dụng các biến trong lớp tùy chỉnh (thứ tự tăng dần/giảm dần), chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/50329119/

30 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress