排序结构的一个标准数组变量 [英] Sorting a standard array of structs on a variable

查看:110
本文介绍了排序结构的一个标准数组变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能重复:结果
   C ++类与结构

我试图找出如何在阵列内举行的结构特定变量排序结构的数组。这里是我的code:

I am trying to figure out how to sort an array of structs on a specific variable in the struct held within the array. Here is my code:

struct Process{
    int pid;
    int burst;
    int arrival;
};

int main(int argc, char *argv[]){

    // The number of processes
    int numProcesses = 3;

    //Create an array that holds 10 Process structs
    Process *arrayOfProcesses = new Process[numProcesses];

    // Puts values in each pid, burst, and arrival
    arrayOfProcesses[0].pid = 0;
    arrayOfProcesses[0].burst = 8;
    arrayOfProcesses[0].arrival = 2;

    arrayOfProcesses[1].pid = 1;
    arrayOfProcesses[1].burst = 12;
    arrayOfProcesses[1].arrival = 3;

    arrayOfProcesses[2].pid = 2;
    arrayOfProcesses[2].burst = 4;
    arrayOfProcesses[2].arrival = 1;

    // Sort the array based on the arrival time
    // Help! :)
}

我真的很希望能够在阵列中的到达时间我的code排序。我已经简化我的code给你什么,我试图完成的总体思路。在我的实际code,T,他阵列从一个文件中读取信息动态填充。 我知道,使用列表,甚至一个Vector会更好的选择,但我决心要算出这个使用数组。

与排序,这将是AP preciated任何帮助! :)

Any help with sorting this would be appreciated! :)

推荐答案

使用排序从标准<算法> 标题:

std::sort(arrayOfProcesses, arrayOfProcesses+numProcesses, [](Process const &a, Process const &b){ return a.arrival < b.arrival; });

这篇关于排序结构的一个标准数组变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆