In this project, given a table I created 3 scheduling algorithms. First, I created a non-preemptive First-Come, First-Serve, or FCFS, scheduling algorithm using C++. Here, I used a struct to create a process given the table seen in the provided project pdf file and made a vector of objects. Then using C++ stl queues, I made a FCFS queue which also outputted execution order and calculated wait time. Second, I created a non-preemptive Shortest Job Next scheduling algorithm using the same ideology but mixing up how the objects were put into the queue according to SJN theory. Finally, I created a preemptive Round-Robbin scheduling algorithm using similar techniques to the 2 prior algorithms, but also adding a block that requeues the process if it needs more execution time.