Java 基于数组列表的排序算法
我正试图制定一个日程安排方案,使两次会谈不能同时进行,尽管一次会谈可以在另一次会谈结束时继续进行。在将第一个对话放入计划程序计划后,我想查看我的arrayList中的每个对话,并检查是否与计划中的最后一个对话兼容 我想我可以通过比较来检查索引I的开始时间是否大于索引I-1的结束时间 我把我的演讲和讲座分类,输入第一个数组。现在,我很难比较事件并将正确的事件添加到计划程序计划中Java 基于数组列表的排序算法,java,arrays,sorting,oop,arraylist,Java,Arrays,Sorting,Oop,Arraylist,我正试图制定一个日程安排方案,使两次会谈不能同时进行,尽管一次会谈可以在另一次会谈结束时继续进行。在将第一个对话放入计划程序计划后,我想查看我的arrayList中的每个对话,并检查是否与计划中的最后一个对话兼容 我想我可以通过比较来检查索引I的开始时间是否大于索引I-1的结束时间 我把我的演讲和讲座分类,输入第一个数组。现在,我很难比较事件并将正确的事件添加到计划程序计划中 public class Scheduler { private ArrayList<Event> ev
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;
}
公共类调度程序{
private ArrayList events=new ArrayList();
公共计划程序(ArrayList事件){//构造函数
对于(int i=0;i events.get(i-1).getendTime().compareTo(events.get(l).getendTime()))
this.events.add(events.get(i));
}
退货计划;
}
如果您使用的是ArrayList,则可以使用集合
不要重新发明轮子,把清单分类
Collections.sort(events);
如果您使用的是ArrayList,则可以使用集合 不要重新发明轮子,把清单分类
Collections.sort(events);
你比较这些事件是什么意思?您已经在与事件比较
endtime
对吗(但未使用collection
sort
方法)?比较事件是什么意思?您已经在与事件结束时间
进行比较了,对吗(但没有使用收集
排序
方法)?@Xocę但是我需要比较开始时间和结束时间,以确保在我将它们放入调度程序计划
之前没有任何事件在同一时间发生,如果您允许我提示的话:简短的回答有时很好;但我想你经常会抛出一些半信半疑的回答。我认为提高一点质量将有助于你收集更多的投票…@Xocę但是我需要比较开始时间和结束时间,以确保在我将它们放入调度程序计划之前,没有任何事件同时发生,如果你允许我一个提示的话:简短的回答有时很好;但我想你经常会抛出一些半信半疑的回答。我认为提高一点质量会帮助你收集更多的选票。。。