PAT A1039、A1047——vector常见用法】的更多相关文章

vector 常用函数实例 (1)push_back() (2)pop_back() (3)size() (4)clear():清空vector中所有元素 (5)insert():insert(it, x)向vector的任意迭代器it处插入一个元素x,insert(vi.begin()+2,-1); (6)erase():erase(vi.begin()+3)删除第四个元素:erase(first,last)删除[first,last)内所有元素: A1039.Course List for…
<算法笔记>中摘取 vector常见用法详解 1. vector的定义 vector<typename> name; //typename可以是任何基本类型,例如int, double, char, 结构体, STL标准容器 vector<int> name; vector<double> name; vector<char> name; vector<node> name; //node是结构体 //如果typename也是一个ST…
一.关于vector 本文默认读者具有一定的c++基础,故大致叙述,但保证代码正确. vector是一个动态的序列容器,相当于一个size可变的数组. 相比于数组,vector会消耗更多的内存以有效的动态增长.而相比于其他动态序列容器(deques, lists and forward_lists),vector能更快的索引元素(就像数组一样),而且能相对高效的在尾部插入和删除元素.如果不是在尾部插入和删除元素,效率就没有这些容器高. 当需要使用vector的时候,需要包含头文件:#includ…
c++ 中 vector vector有两个参数,一个是size,表示当前vector容器内存储的元素个数,一个是capacity,表示当前vector在内存中申请的这片区域所能容纳的元素个数. capacity会随着你的使用vector内置函数而动态变化. 通常capacity会比size大,如果往vector中push_back数据,这样就不用重新申请内存和拷贝元素到新内存区域了,便于节省时间. vector 之间可以之间赋值或者作为函数的返回值 初始化 与数组的初始化一样 vector<i…
//输出尾巴的元素 cout<<vec.back(); //定义vector迭代器 vector<int>::iterator ite=vec.begin(); for(ite;ite!=vec.end();ite++) cout<<*ite<<endl; //增加元素 vec.insert(vec.begin()+,);//下标为2的位置添加12. vec.insert(vec.begin()+,,);//下标为2的位置往后添加5个2: //尾删除 vec…
#include <boost/foreach.hpp> #include <iostream> #include <vector> #include <boost/foreach.hpp> using namespace std; using namespace boost; class Test { public: Test(int a){ age=a; } int age; bool operator < ( const Test& rh…
vector的定义 vector<typename> name; 相当于定义了一个一维数组name[SIZE],只不过其长度可以根据需要进行变化,比较节省空间,通俗来讲,vector就是"变长数组". 类似于一维数组,typename可以是任何基本类型,也可以是STL容器. vector<int> name; vector<double> name; vector<char> name; vector<Node> name;…
set 常用函数实例 set是一个内部自动有序且不含重复元素的容器 (1)insert() (2)find()  st.find(*it) 找到返回其迭代器,否者返回st.end() (3)size() (4)clear():清空所有元素 (5)erase():erase(st.begin()+3)删除第四个元素:erase(first,last)删除[first,last)内所有元素: (6)如果set内定义的是结构体,需要重载<运算符 typedef struct Car { int id;…
string 常用函数实例 (1)operator += 可以将两个string直接拼接起来 (2)compare operator 可以直接使用==.!=.<.<=.>.>=比较大小,比较规则是字典序 (3)length()/size() (4)clear():清空所有元素 (5)erase():erase(st.begin()+3)删除第四个元素:erase(first,last)删除[first,last)内所有元素:erase(pos,length)pos为需要开始删除的起…
PAT 1073. 多选题常见计分法 批改多选题是比较麻烦的事情,有很多不同的计分方法.有一种最常见的计分方法是:如果考生选择了部分正确选项,并且没有选择任何错误选项,则得到50%分数:如果考生选择了任何一个错误的选项,则不能得分.本题就请你写个程序帮助老师批改多选题,并且指出哪道题的哪个选项错的人最多. 输入格式: 输入在第一行给出两个正整数N(<=1000)和M(<=100),分别是学生人数和多选题的个数.随后M行,每行顺次给出一道题的满分值(不超过5的正整数).选项个数(不少于2且不超过…