Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void insertOrderedCar(Car car, int entryTime, int exitTime){
- boolean fullPark = !this.checkAvailablePark(entryTime, exitTime);
- if(fullPark){
- // Send message to server: insertion command failed
- }
- else{
- int[] a = locateOptimalPosition(entryTime, exitTime);
- statusPark[a[0]][a[1]][a[2]] = 'o';
- park[a[0]][a[1]][a[2]].add(car);
- }
- }
- public void insertCar(Car car, int entryTime, int exitTime){
- boolean fullPark = !this.checkAvailablePark(entryTime, exitTime);
- if(fullPark){
- // Send message to server: insertion command failed
- }
- else{
- int[] a = locateOptimalPosition(entryTime, exitTime);
- ArrayList<Car> list = new ArrayList<Car>();
- ejectInDepth(list, a[0], a[1], a[2]);
- ejectInFloor(list, a[0], a[1], a[2]);
- list.add(car);
- Collections.sort(list);
- while (!list.isEmpty()){
- int t = 0;
- while (t != a[1] + 1){
- if (statusPark[a[0]][t][a[2]] != 's' && statusPark[a[0]][t][a[2]] != 'i'){
- while (list.get(0).getEntryTime() >=
- park[a[0]][t][a[2]].get(park[a[0]][t][a[2]].size() - 1).getExitTime()){
- park[a[0]][t][a[2]].add(list.get(0));
- list.remove(0);
- }
- if (!isEmptySpotRealTime(a[0], t, a[2]))
- statusPark[a[0]][t][a[2]] = 'f';
- if (isEmptyButOrderedRealTime(a[0], t, a[2]))
- statusPark[a[0]][t][a[2]] = 'o';
- }
- t++;
- }
- t = 0;
- while (t != a[0] + 1){
- if (statusPark[t][a[1]][a[2]] != 's' && statusPark[t][a[1]][a[2]] != 'i'){
- while (list.get(0).getEntryTime() >=
- park[t][a[1]][a[2]].get(park[t][a[1]][a[2]].size() - 1).getExitTime()){
- park[t][a[1]][a[2]].add(list.get(0));
- list.remove(0);
- }
- if (!isEmptySpotRealTime(t, a[1], a[2]))
- statusPark[t][a[1]][a[2]] = 'f';
- if (isEmptyButOrderedRealTime(t, a[1], a[2]))
- statusPark[a[0]][t][a[2]] = 'o';
- }
- t++;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement