C++ vector

大学学过C++,然而学过之后其实没有真正掌握C++这一语言。下面一起学习一下vector这一数据结构。

1. 基本操作

(1) 头文件#include
(2) 创建vector对象:vector vec;
(3) 尾部插入数字:vec.push_back(a);
(4) 使用下标访问元素:cout<

1
2
3
vector<int>::iterator it;
for(it = vec.begin();it != vec.end(); it++)
cout << *it << endl;

(6) 插入元素:vec.insert(vec.begin()+i, a);
(7) 删除元素:vec.erase(vec.begin()+2);
vec.erase(vec.begin()+i, vec.end()+j);
(8) 向量大小访问:vec.size();
(9) 清空:vec.clear();

2. 介绍

vector的元素不仅可以使int, double, string,还可以是结构体,但是要注意:结构体要定义是全局的,否则会出错。下面是一段简短的程序代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<iostream>
#include<vector>
using namespace std;
typedef struct rect
{
int id;
int length;
int width;

bool operator< (const rect &a) const
{
if(id != a.id)
{
return id < a.id;
}
else
{
if(length != a.length)
{
return length < a.length;
}
else
{
return width < a.width;
}
}
}
}Rect;
int main()
{

vector<Rect> vec;
Rect rect;
rect.id = 1;
rect.length = 2;
rect.width = 3;
vec.push_back(rect);
vector<Rect>::iterator it = vec.begin();
cout << (*it).id << ' ' << (*it).length << ' ' << (*it).width << endl;

return 0;
}