首页 > 试题广场 >

在标准 C++类库中,双向队列类(deque)的成员函数 q

[问答题]

在标准 C++类库中,双向队列类(deque)的成员函数 queue::front()返回一个非空 双向队列的第一个元素,queue:: back()返回一个非空双向队列的最后一个元素,请构造 一个字符型双向队列,体会这几个成员函数的用法。

推荐

解:

#include <iostream> 
#include <deque>
using namespace std;
typedef deque<char > CHARDEQUE;
void print_contents (CHARDEQUE deque, char*);
void main()
{
//create a with A, B, C and D 
CHARDEQUE a; 
a.push_back('A'); 
a.push_back('B'); 
a.push_back('C'); 
a.push_back('D');
//print out the contents
print_contents (a,"a");
cout <<"The first element of a is " <<a.front() <<endl;
cout <<"The last element of a is " <<a.back() <<endl;
//now let us modify the first and last elements 
//using reference ,front() and back()
CHARDEQUE::reference reffront=a.front();
CHARDEQUE::reference refback=a.back();
reffront='X';
refback='Y';
//print out the contents
print_contents (a,"a");
}
//function to print the contents of deque
void print_contents (CHARDEQUE deque, char *name)
{
CHARDEQUE::iterator pdeque;
cout <<"The contents of "<< name <<" : ";
for(pdeque = deque.begin();
pdeque != deque.end();
pdeque++)
{
cout << *pdeque <<" " ;
}
cout<<endl;
}

程序运行输出:

The contents of a : A B C D

The first element of a is A

The last element of a is D

The contents of a : X B C Y



发表于 2018-04-18 20:42:29 回复(0)