目錄
vector的構建
- vector<int> vec1; //不帶參數的構造函數初始化
- vector<int> vec2(10); //初始化元素個數爲10,默認初始化爲0
- vector<int> vec3(10, 40); //開闢10個空間大小,初始化元素爲40
- vector<int> vec4(vec3); //通過同類型的vector初始化
int array[10] = { 0 };
for (int i = 0; i < 10; i++)
{
array[i] = rand()%100;
}
5. vector<int> vec5(array, array + 10); //通過數組地址區間實現插入,左閉右開
6. vector<int> vec6(vec5.begin(), vec5.end());
##include<iostream>
#include<vector>
#include<functional>
#include<algorithm>
using namespace std;
template<typename Container>
void showBase(Container &con)//打印基本信息
{
if (con.empty()) //判斷是否爲空
{
cout << "vec is empty!" << endl;
}
cout << con.size() << endl;
cout << con.max_size() << endl;
}
template<typename Container>//打印元素
void showContainer(const Container &con)//通過迭代器打印數組元素
{
Container::const_iterator it = con.begin();//注意這裏使用 常量迭代器
for (; it != con.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
int main()
{
vector<int> vec1; //空容器
vector<int> vec2(10); //初始化元素個數爲10,默認初始化爲0
vector<int> vec3(10, 40);//開闢10個空間大小,初始化元素爲40
vector<int> vec4(vec3);
int array[10] = { 0 };
for (int i = 0; i < 10; i++)
{
array[i] = rand()%100;
}
vector<int> vec5(array, array + 10);//半開半閉區間,左閉右開
vector<int> vec6(vec5.begin(), vec5.end());
showBase(vec2);
//showContainer(vec1);
showContainer(vec2);
showContainer(vec3);
showContainer(vec4);
showContainer(vec5);
showContainer(vec6);
return 0;
}
打印結果:
vector的插入
for (int i = 0; i < 10; i++)
{
vec6.push_back(rand() % 1006 + 1);
}
vec6.insert(vec6.begin(), 55);
showContainer(vec6);
vec6.insert(vec6.end(), 55);
showContainer(vec6);
vector的排序
sort(vec6.begin(), vec6.end());
showContainer(vec6);
sort(vec6.begin(), vec6.end(),greater<int>());
showContainer(vec6);