name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1194442938015&lmt=1194190197&format=336x280_as&output=html&correlator=1194442937843&url=file%3A%2F%2F%2FC%3A%2FDocuments%2520and%2520Settings%2Flhh1%2F%E6%A1%8C%E9%9D%A2%2FCLanguage.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=583001034.1194442938&ga_sid=1194442938&ga_hid=1942779085&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency"> // If you use Visual C++, set the compile options to /GX
#ifdef __BCPLUSPLUS__
#include <iostream.h>
#include <vector.h>
#include <algorith.h>
#include <list.h>
#include <deque.h>
#else
#include <iostream>
#include <vector>
#include <algorithm>
#include <list>
#include <deque>
#endif
using namespace std;
void main(void)
{
const int MAX_ELEMENTS = 8;
typedef vector<int> IntVector; //Define a template class vector of int
typedef IntVector::iterator IntVectorIt; //Define an iterator type
typedef list<int> IntList; //Define a template class list of int
typedef IntList::iterator IntListIt; //Define an iterator type
typedef deque<int> IntDeque; //Define a template class deque of int
typedef IntDeque::iterator IntDequeIt; //Define an iterator type
IntVector NumbersVector(MAX_ELEMENTS);
IntVectorIt startv, endv, itv;
IntList NumbersList;
IntListIt first, last, itl;
IntDeque NumbersDeque(2 * MAX_ELEMENTS);
IntDequeIt itd;
//Initialize vector NumbersVector
NumbersVector[0] = 4;
NumbersVector[1] = 10;
NumbersVector[2] = 70;
NumbersVector[3] = 10;
NumbersVector[4] = 30;
NumbersVector[5] = 69;
NumbersVector[6] = 96;
NumbersVector[7] = 100;
startv = NumbersVector.begin(); //location of first element of NumbersVector
endv = NumbersVector.end(); //one past the last element of NumbersVector
//sort NumbersVestor, mersge requires the sequences to be sorted
sort(startv, endv);
//print content of NumbersVector
cout << "NumbersVector { ";
for(itv = startv; itv != endv; itv++)
cout << *itv << " ";
cout << " }/n" << endl;
//Initialize list NumbersList
for(int i = 0; i < MAX_ELEMENTS; i++)
NumbersList.push_back(i);
first = NumbersList.begin(); //location of first element of NumbersList
last = NumbersList.end(); //one past the last element of NumbersList
//print content of NumbersList
cout << "NumbersList { ";
for(itl = first; itl != last; itl++)
cout << *itl << " ";
cout << " }/n" << endl;
//merge the elements of NumbersVestor and NumbersList and place the
//results in NumbersDeque
merge(startv, endv, first, last, NumbersDeque.begin());
//print content of NumbersDeque
cout << "After calling merge/n" << endl;
cout << "NumbersDeque { " ;
for (itd = NumbersDeque.begin(); itd != NumbersDeque.end(); itd++)
cout << *itd << " ";
cout << " }/n" << endl;
}