2016-12-04 5 views
1

Я пытаюсь создать программу планирования, в которой не может продолжаться ни одно из двух разговоров в одно и то же время, хотя разговор может продолжаться по окончании другого. После первого разговора в плане планировщика я хочу пройти каждый разговор в своем списке массива и проверить, совместим ли он с последним разговором в расписании.Алгоритм сортировки с массивом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; 
    } 
+0

Что вы имеете в виду ** сравнение событий **? Вы уже сравниваете с правилом event 'endtime' (но не используете метод' collection' 'sort')? – developer

ответ

0

Если вы используете ArrayList, то вы можете использовать Коллекции ...

Dont изобретать колесо и сортировать список делает

Collections.sort(events); 
+0

@ Xocę Но мне нужно сравнить startTime и endTime, чтобы убедиться, что события не происходят одновременно, прежде чем я поместил их в «План планировщика» – ProgrammingBeginner24

+0

Если вы позволите мне понять: короткие ответы иногда прекрасны; но я думаю, что вы очень часто отказываетесь от полуподобного полушагового ответа. Я думаю, что немного больше * качества * поможет вам собрать больше очков ... – GhostCat

Смежные вопросы