先讨论比较重要的函数
#include <vector> #include <algorithm> //后面相关函数需要包含的头文件
1.正序排序 sort(a.begin(),a.end()); 2.倒序排序 sort(a.rbegin(),a.rend());
3.不排序的倒置
reserve(a.begin(),a.end()); //如a中为{1,3,4,2} 则倒置后为{2,4,3,1},
一.添加元素(int举例)
向vector添加元素方法 1.int b{5}={1,2,3,4,5}; vector<int>a; for (int i=0;i<5;i++) a.push_back(b[i]); 2.int b[5]={1,2,3,4,5}; vector<int>a(b,b+5); //简单记:b为数组首地址,b+5:5为数组长度 3.vector<int>a; for(int i=0;i<5;i++) a.push_back(i);
二.输出方式
1.for(int i=0;i<a.size();i++) //类似于数组,注意使用a.size()计算a中元素长度 cout<<a[i]<<" "; 2.for(vector<int>::iterator it=a.begin();it!=a.end();it++) //定义迭代器it指向vector的a cout<<*it<<" ";
三.两个vector间的基本操作
将一个vector中的元素传入到另一个vector中 #include <iostream> using namespace std; #include <algorithm> #include <vector> int main() { int b[4] = { 0,1,2,4 }; int b1[4] = { 5,6,7,8 }; vector<int>a(b,b+4); vector<int>c(b1, b1 + 4); for (vector<int>::iterator it = a.begin(); it != a.end(); it++) c.push_back(*it); for (vector<int>::iterator it = c.begin(); it != c.end(); it++) cout << *it << " "; system("pause"); return 0; }
四.较为常用的函数
常用函数 a.size() //获取当前a中的元素长度 a.back() //返回a最后一个元素 可用cout输出 a.front() //返回a第一个元素 可用cout输出 a.assign(4,2) //表示a只含4个元素,每个元素都为2 a.clear() //清空a中的元素 a.empty() //判断a是否为空,空时返回true,非空返回false 用法:if(!a.empty()) cout<<"a is NOT NULL"; a.push_back(5) //在a中最后插入一个5 a.pop_back() //删除a中最后一个元素 a.insert(a.begin(),5) //表示在a.begin()位置插入5,不覆盖,元素后移 a.insert(a.begin()+1,5) //表示在首元素后插入5,不覆盖,元素后移 a.insert(a.begin(),4,5) //表示在第四个元素中插入5,不覆盖,元素后移(以这个为核心) vector<int>a; vector<int>b; a.swap(b) //将a中的元素与b中的元素进行交换(整体性)
五、容器删除指定元素(迭代器iterator)
//以伪代码示例 vector<string>book_name; for (vector<string>::iterator it = book_name.begin(); it != book_name.end(); ) //注意迭代器的用法 if (*it == n) //注意是*it { it = book_name.erase(it); cout << "图书删除成功!" << endl; } else ++it;