Я пытаюсь создать программу планирования, в которой не может продолжаться ни одно из двух разговоров в одно и то же время, хотя разговор может продолжаться по окончании другого. После первого разговора в плане планировщика я хочу пройти каждый разговор в своем списке массива и проверить, совместим ли он с последним разговором в расписании.Алгоритм сортировки с массивомList
Я полагаю, что могу проверить, сравнивая, если startTime индекса 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;
}
Что вы имеете в виду ** сравнение событий **? Вы уже сравниваете с правилом event 'endtime' (но не используете метод' collection' 'sort')? – developer