[STL] QUEUE
/* ------------- QUEUE EXAMPLE BEGIN ---------------- */
#include <iostream>
#include <queue>
#include <list>
using namespace std;
class TestQ
{
....private:
........int intData;
........string strData;
....public:
........void setData(int iData, string sData)
........{
............intData = iData;
............strData = sData;
........}
........int getIntData()
........{
............return intData;
........}
........string getStrData()
........{
............return strData;
........}
};
int main( void )
{
....queue<TestQ, list<TestQ> > testQueue;
....TestQ testQ1, testQ2, testQ3, testQ4;
....testQ1.setData(1, "AAA");
....testQ2.setData(2, "BBB");
....testQ3.setData(3, "CCC");
....testQ4.setData(4, "DDD");
....testQueue.push(testQ1);
....testQueue.push(testQ2);
....testQueue.push(testQ3);
....testQueue.push(testQ4);
....TestQ *testQ;
....cout << "QUEUE size : " << testQueue.size() << endl;
....testQ = &(testQueue.front());
....cout << "QUEUE front : < " << Q->getIntData() << ":" << Q->getStrData() << " > " << endl;
....testQ = &(testQueue.back());
....cout << "QUEUE back : < " << Q->getIntData() << ":" << Q->getStrData() << " > " << endl;
....cout << "QUEUE POP 2회 실행 " << endl;
....testQueue.pop();
....testQueue.pop();
....cout << "QUEUE size: " << testQueue.size() << endl;
....testQ = &(testQueue.front());
....cout << "QUEUE front: < " << Q->getIntData() << ":" << Q->getStrData() << ">" << endl;
....testQ = &(testQueue.back());
....cout << "QUEUE back: < " << Q->getIntData() << ":" << Q->getStrData() << ">" << endl;
....return 0;
}
/* ------------- QUEUE EXAMPLE END ------------------ */