gpt4 book ai didi

java - 根据特定条件对数组进行排序

转载 作者:行者123 更新时间:2023-11-30 05:30:31 25 4
gpt4 key购买 nike

我们有一个关于排序 ID、到达时间、CPU 突发时间和优先级的作业,我只在排序部分遇到问题,我确实需要一些帮助。此外,ID、AT、CBT和Prio的值取决于用户输入。我还使用双维数组来存储 ID、AT、CBT 和 P。

例如

ID: 98
AT: 50
CBT: 60
P(1 is the highest & 5 is the lowest): 1

ID: 99
AT: 55
CBT: 51
P: 1

如果我想按照AT排列,则先打印AT较低的,连同它的ID等。顺序是从最小到最大AT。

如果我想根据CBT来排列,就像AT一样,它会从最小到最大打印,但如果有多个CBT彼此相等,他们的AT将决定谁是首先打印。

如果我根据优先级安排它,则值1的prio将首先打印到5,但是如果有多个具有相同值的prio,他们的CBT将决定谁将首先打印,但是如果他们的CBT也是一样,由AT决定。

我想学习如何使用java来做到这一点。

if(userchoice == '1'){
//infos[a][1] is where the AT value stored
if(infos[0][1] < [1][1] && infos[0][1] < infos[2][1] &&....infos[4][1]){
for(int b = 0;b<4;b++){
System.out.print(infos[0][]+"\t");
}
}
System.out.println();
if(infos[1][1] > infos[0][1] && infos[1][1] < infos[2][1] &&....infos[4][1]){
for(int b = 0;b<4;b++){
System.out.print(infos[1][b]+"\t");
}
}
}

这些是基于我给定示例的实际输出

Arranged using AT:
ID: 98
AT: 50
CBT: 60
P: 1

ID: 99
AT: 55
CBT: 51
P: 1


Arranged using CBT:
ID: 99
AT: 55
CBT: 51
P: 1

ID: 98
AT: 50
CBT: 60
P: 1


Arranged using P:
ID: 99
AT: 55
CBT: 51
P: 1

ID: 98
AT: 50
CBT: 60
P: 1

最佳答案

如果您使用Java,首先避免使用多维数组并创建对象。您有集合框架可以使这些事情变得简单。

更多信息,请阅读此 http://www.javapractices.com/topic/TopicAction.do?Id=10 ,或有关同一主题的文章,以了解自定义排序顺序等。

关于java - 根据特定条件对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57654308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com