gpt4 book ai didi

java - 使用 arrayList 的排序算法

转载 作者:太空宇宙 更新时间:2023-11-04 12:00:33 24 4
gpt4 key购买 nike

我正在尝试制定一个调度程序,其中两个演讲不能同时进行,尽管一个演讲可以在另一个演讲结束时继续进行。将第一个演讲放入 Scheduler 计划后,我想遍历 arrayList 中的每个演讲,并检查是否与计划中的最后一个演讲兼容。

我想我可以通过比较索引 i 的开始时间是否大于索引 i-1 的结束时间来检查。

我按 endTime 对我的演讲和讲座进行排序,并输入第一个数组。现在,我无法比较事件并将正确的事件添加到调度程序计划中。

public class Scheduler {

private ArrayList<Event> events = new ArrayList <Event>();

public Scheduler(ArrayList<Event> events){ //Constructor
for (int i=0; i<events.size(); i++)
this.events.add(events.get(i));
}

public ArrayList<Event> getsortSchedule(){ //Sorting Algorithm
int N = events.size() -1;

for (int i = 0; i <=(N-1); i++)
{
for(int j = 1; j <= N;j++)
{
if(events.get(i).getendTime().compareTo(events.get(j).getendTime()) > 0)
Collections.swap(events, i, j);
}
}


return events;
}

public Scheduler getSchedule(){ //Scheduling attempt
Scheduler plan = new Scheduler(events);
this.events.add(events.get(0));

for (int i=0; i == events.size(); i++)
{
//if(events.get(i).getStartTime() > events.get(i).getendTime())
//if(events.get(i).getStartTime().compareTo(events.get(l).getendTime()) > events.get(i-1).getendTime().compareTo(events.get(l).getendTime()))
this.events.add(events.get(i));
}

return plan;
}

最佳答案

如果您使用ArrayList,那么您可以使用集合 ...

不要重新发明轮子并对列表进行排序

Collections.sort(events);

关于java - 使用 arrayList 的排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40957017/

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