To help you grasp it better here's how I tested it :
Code:
#include<list>
#include<string>
#include<iostream>
using namespace std;
struct Process {
string PID;
int arrivalTime;
};
int main(void){
list <Process> newQ;
list <Process> readyQ;
list <Process> diskQ;
list <Process> runQ;
list <Process> exitQ;
list <Process>::iterator newQPtr;
list <Process>::iterator readyQPtr;
list <Process>::iterator diskQPtr;
list <Process>::iterator runQPtr;
list <Process>::iterator exitQPtr;
int time=0; //Junk
Process x, a, c;
newQ.push_back(x);
newQ.push_back(a);
newQ.push_back(c);
for(newQ.begin(), newQPtr=newQ.begin();newQPtr!=(newQ.end()); newQPtr++){
cout<<"Nice Work"<<endl;
if(newQPtr->arrivalTime == time){
readyQ.push_back(*newQPtr);
newQ.erase(newQPtr);
}
}
return 0;
}