//实际应用中,双端队列比普通队列更加常用。在标准C++模板库中, //双端队列类(deque)的成员函数deque::assign()给一个双端队列重新赋值, // deque::swap()交换两个双端队列中的元素,deque::begin()返回指向双端队列中的第一个元素的指针 //,deque::end()返回指向双端队列中的最后一个元素的指针,请构造一个int类型的双端队列, //然后对这个队列应用以上几个函数,体会双端队列这种数据结构的特点和其成员函数的用法 #include "stdafx.h" #include <iostream> #include <deque> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { deque<int> D,H; for(int i=0;i<10;i++) { D.push_front(i); } cout<<"交换前的D"<<endl; for(int i=0;i<D.size();i++) { cout << D[i]<<" "; } /*D.push_back(11); D.push_back(12); D.push_back(13); D.push_front(14);*/ for(int i=10;i<20;i++) { H.push_front(i); } cout<<"/n交换前H:"<<endl; for(int i=0;i<D.size();i++) { cout << H[i]<<" "; } cout<<"/n***********************************************************"<<endl; swap(H,D); cout<<"交换后的D"<<endl; for(int i=0;i<D.size();i++) { cout << D[i]<<" "; } cout<<"/n交换后的H:"<<endl; for(int i=0;i<D.size();i++) { cout << H[i]<<" "; } cout<<"/nbegin"<<endl; cout<<*H.begin()<<endl; cout<<"end"<<endl; cout<<H.back()<<endl; return 0; }