C++代码while( !Processes.empty() ) { bool found = false; list::iterator i = Processes.begin(); while ( i != Processes.end() ) { if(i->Maxmum - i->Current <= SystemAvaliable) { SystemAvaliable = SystemAvaliable + i->Current; Processes.erase(i); found = true; break; } ++i; } if( !found ){ return 1; }}return 0;1234567891011121314151617while( !Processes.empty() ) { bool found = false; list::iterator i = Processes.begin(); while ( i != Processes.end() ) { if(i->Maxmum - i->Current <= SystemAvaliable) { SystemAvaliable = SystemAvaliable + i->Current; Processes.erase(i); found = true; break; } ++i; } if( !found ){ return 1; }}return 0;while( !Processes.empty() ) { bool found = false; list::iterator i = Processes.begin(); while ( i != Processes.end() ) { if(i->Maxmum - i->Current <= SystemAvaliable) { SystemAvaliable = SystemAvaliable + i->Current; Processes.erase(i); found = true; break; } ++i; } if( !found ){ return 1; }}return 0;while( !Processes.empty() ) {
bool found = false;
list::iterator i = Processes.begin();
while ( i != Processes.end() ) {
if(i->Maxmum - i->Current <= SystemAvaliable) {
SystemAvaliable = SystemAvaliable + i->Current;
Processes.erase(i);
found = true;
break;
}
++i;
}
if( !found ){
return 1;
}
}
return 0;
参考: http://apt-blog.net/object_oriented_bankers_alogrithm