Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from enum import Enum
- from sortedcontainers import SortedList
- class EventType(Enum):
- ENQUEUE = 0
- DEQUEUE = 1
- class Client(object):
- def __init__(self, id=None, time_in=0, time_out=0, time_queue=None):
- self.id = id
- self.time_in = time_in
- self.time_out = time_out
- self.time_queue = time_queue
- class Event(object):
- def __init__(self, client_id=None, time=0, event_type=None):
- self.client_id = client_id
- self.time = time
- self.type = event_type
- def __lt__(self, other):
- return self.time < other.time
- def fill_events():
- for client in clients:
- if len(event_calendar) == 0:
- event_calendar.add(Event(client.id, client.time_in, EventType.ENQUEUE))
- else:
- event_calendar.add(Event(client.id, client.time_in + event_calendar[-1].time, EventType.ENQUEUE))
- if __name__ == '__main__':
- clients = list()
- clients.append(Client(0, 2.2, 2.7))
- clients.append(Client(1, 1.4, 0.9))
- clients.append(Client(2, 1.6, 1.2))
- event_calendar = SortedList()
- fill_events()
- for event in event_calendar:
- print(event.time)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement