C++中的vector类似于Java中的ArrayList
头文件 | #include |
创建:空间大小为5 | vector |
直接初始化 | vector |
创建:空间大小为5,赋值为1 | vector |
改值 | v[i] = x; |
插入 | v.insert(v.begin(), x); |
在最后位置增加(插入) | v.push_back(x); // 没有push_front();pop_front(); |
在最后位置增加(插入) | v.emplace_back(x); // 不创建临时变量 |
删除最后一个 | v.pop_back(); |
查看空间大小 | v.size(); |
清空内容 | v.clear(); |
第一个数 | 迭代器 = v.begin(); //迭代器是指针需要取内容 |
第i个 | v[i]; v.at(i); // v.at(i)与v[i]区别在于i越界时候会抛出异常,而v[i]会报错。 |
最后一个数下一个 | v.at(i); |
最后一个数下一个 | v.end(); |
排序 | #include , sort(v.begin(0, v.end()); |
逆序排序 | sort(v.rbegin(0, v.rend()); |
复制 | opy(1st.cbegin(),1st.end(),back_inserter(2st); |
赋值 | copy(1st.cbegin(),1st.end(),inserter(2st,2st.begin()); |
逆向复制 | copy(1st.cbegin(),1st.end(),front_inserter(2st); |
范围内的最大元素 | 迭代器 = max_element(num.begin(), num.end()); |
翻转 | reverse(v.begin(), v.end()); |
改变大小 | resize(); |
[l,r]范围内找最大值,max是迭代器 | auto max = max_element(n.begin() + l, n.begin() + r + 1);// max为迭代器 |
找最大值的下标 | int i = max - v.begin();// max为迭代器 |