以下是使用C++98标准实现的代码:

#include <iostream>
#include <vector>
#include <algorithm>

typedef struct 
{
    HelloWorldPtr clientPtr;
    std::string   clientName;
    std::string   clientCbAddr;
    int task_num;
}tag_ClientCBS;

bool compareTaskNum(const tag_ClientCBS& client1, const tag_ClientCBS& client2) {
    return client1.task_num < client2.task_num;
}

int main() {
    std::vector<tag_ClientCBS> gCallbackClients;
    
    // 添加一些示例数据
    tag_ClientCBS client1;
    client1.task_num = 5;
    gCallbackClients.push_back(client1);
    
    tag_ClientCBS client2;
    client2.task_num = 2;
    gCallbackClients.push_back(client2);
    
    tag_ClientCBS client3;
    client3.task_num = 7;
    gCallbackClients.push_back(client3);
    
    // 对gCallbackClients进行排序
    std::sort(gCallbackClients.begin(), gCallbackClients.end(), compareTaskNum);
    
    // 打印排序后的结果
    for (std::vector<tag_ClientCBS>::iterator it = gCallbackClients.begin(); it != gCallbackClients.end(); ++it) {
        std::cout << "task_num: " << it->task_num << std::endl;
    }
    
    return 0;
}

这段代码首先定义了一个compareTaskNum函数,用于比较tag_ClientCBS结构体的task_num字段。然后在main函数中,添加了一些示例数据到gCallbackClients向量中。接下来,使用std::sort函数对gCallbackClients进行排序,排序的依据是compareTaskNum函数。最后,使用迭代器遍历向量并打印排序后的结果。

typedef struct HelloWorldPtr clientPtr; stdstring clientName; stdstring clientCbAddr; int task_num;tag_ClientCBS;static stdvectortag_ClientCBS gCallbackClients; 找出最小的task_num的进行排序生成另一

原文地址: https://www.cveoy.top/t/topic/jd7p 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录