deque双端动态数组
deque容器没有容量的概念。
#include#include using namespace std; void printDequeInt(deque &d) { deque ::iterator it=d.begin(); for(; it!=d.end(); it++) { cout<<*it<<" "; } cout< d1; d1.push_back(10); d1.push_back(20); d1.push_back(30); d1.push_front(40); d1.push_front(50); d1.push_front(60); printDequeInt(d1);//60 50 40 10 20 30 //删除头元素 d1.pop_front(); printDequeInt(d1);//50 40 10 20 30 d1.pop_back(); printDequeInt(d1);//50 40 10 20 cout< 知识点2【案例】 #include#include #include #include class Person { public: string name; int score; public: Person(string name, int score=0) { this->name = name; this->score = score; } }; void test02() { //vector存放选手 vector v; int i=0; for(i=0;i<5; i++) { string name_tmp = "ABCDE"; string name="选手"; name += name_tmp[i]; v.push_back(Person(name)); } //设置随机数种子 srand(time(NULL)); vector ::iterator it=v.begin(); //参加比赛 for(;it!=v.end(); it++) { //*it == Person //十个评委的分数 放在deque deque d; int i=0; for(i=0;i<10;i++) { d.push_back(rand()%41+60);//60~100 } //对deque容器排序 sort(d.begin(), d.end());//从小--->大 //删除最低分 d.pop_front(); //删除最高分 d.pop_back(); //求总分数 accumulate求和 int sum = accumulate(d.begin(), d.end(), 0); //平均分 (*it).score = (sum/d.size()); //清空d d.clear(); } for(it=v.begin();it!=v.end(); it++) { cout<<(*it).name<<" "<<(*it).score<



