vector
nums //没有分配内存
vectornums(list) //将 list 赋值到 nums
vectornums={1,2,3…} //直接赋值
vectornums(7,2) //有7个元素,每个元素为2.(nums(7)表示有7个元素,但是没有赋值。)
参考:vector 的六种 创建和初始化方法
2.列表数值插入insert()
v.insert(v.begin(),8);//在最前面插入新元素。 v.insert(v.begin()+2,1);//在迭代器中第二个元素前插入新元素 v.insert(v.end(),3);//在向量末尾追加新元素
参考: c++ insert
push_back()
vector.push_back(line) //在后面插入2. 常用的 STL 函数 1. 排序函数: sort()
功能:对容器进行排序。
PS:适用于:array、vector、deque 三种容器。
#include < algorithm> //necessary file sort(myvector.begin(), myvector.begin() + 4, greater()); // 第三个参数可选,默认为升序排列。 sort(myvector.begin(), myvector.begin() + 4, less ()); //降序 reverse(vi.begin(),vi.end()); /// 从大到小 //或者 reverse 函数。
时间复杂度为: n log 2 ( n ) nlog_2(n) nlog2(n)。
参考:
1.C++ sort()排序函数用法详解
2. 自定义排序函数
功能: 对排序规则一致的序列进行组合排序。
#include < algorithm>
//necessary file
//该数组中存储有 2 个有序序列
int first[] = { 5,10,15,20,25,7,17,27,37,47,57 };
//用于存储新的有序序列
vector myvector(11);
//将 [first,first+5) 和 [first+5,first+11) 合并为 1 个有序序列,并存储到 myvector 容器中。
merge(first, first + 5, first + 5, first +11 , myvector.begin());
//1,2 指标指代第一个有序数组,3,4指代第二个,5代表重排之后存贮的数组。
//将 [first,first+5) 和 [first+5,first+11) 合并为 1 个有序序列。inplace_merge 存储在first 数组中。
inplace_merge(first, first + 5,first +11);
参考: c++ merge() 用法
3. 查找:find()底层代码:
templateInputIterator find (InputIterator first, InputIterator last, const T& val) { while (first!=last) { if (*first==val) return first; ++first; } return last; }
调用的是
//在 vector 中找 30 it = find(myvector.begin(), myvector.end(), 30) cout<<*it<参考:C++ find()函数用法详解
4. 交换:swap()swap(a,b) // 交换 a b 的位置。



