25.3 Creating a Waiting List with the STL List

I l @ ve RuBoard

Suppose we have more students who want to take a class than we have places to put them. In that case we'll have to start a waiting list for those people who want to get in if space opens up.

We can't use a set as a waiting list, because a set is unordered and we want to make our list first come, first served . For that we need the STL container std::list . A std::list is an ordered list of elements that allows us to add students on the back end and remove them from the front end.

Our waiting list declaration is:

 #include <list> std::list<std::string> waiting_list; // Waiting list for the class 

When we want to add a student to the back of the list, we use the code:

 waiting_list.push_back(student); 

To remove a student from the front, we need two statements:

 student = waiting_list.top(  );     waiting_list.pop_front(  ); 

Iterating through a list is just like iterating through a set . That's because they are both containers, and the STL is designed so that all containers act the same whenever possible.

I l @ ve RuBoard


Practical C++ Programming
Practical C Programming, 3rd Edition
ISBN: 1565923065
EAN: 2147483647
Year: 2003
Pages: 364

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net