案例需求:有十位评委对六位同学进行打分,去掉一个最高分和一个最低分,输出其平均得分
利用deque和vector两个不同容器的性质:
deque:双端数组,可以对头部进行插入删除操作
vector对于头部插入删除操作效率低;vector访问元素速度比deque快
deque内部有中控器来维护每段缓冲区中的内容
使用vector容器存放六位同学的信息;考虑deque容器双端数组的特性,用其存放十位评委的打分
代码实现如下:
#include<iostream>//标准输入输出流头文件
using namespace std;//标准命名空间头文件
#include<string>//string字符使用头文件
#include<vector>//vector容器头文件
#include<deque>//deque容器头文件
#include<algorithm>//使用sort函数需要的头文件
#include<ctime>//使用time函数头文件
class Person//定义一个存放姓名和平均分的类
{
public:
Person(string name,int score)//构造函数供外端调用赋值
{
this->m_Name = name;
this->m_Score = score;
}
string m_Name;//姓名
int m_Score;//平均分
};
//给类进行赋值函数
void createPerson(vector<Person>& v