西安电子大学计算机考研复试机试(2019)+ C++STL标准库之Vector

本文介绍了C++ STL中的Vector容器,包括其定义、元素访问方式以及各种构造函数的使用。例如,通过下标或迭代器访问元素,以及如何初始化和操作Vector。同时提到,Vector本身不提供find方法,但当元素为string类型时,可使用string的find方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vector的定义

长度根据需求改变的数组

vector<typename> name(n);  // 相当于typename类型的一维数组。typename可以是int,double,long,char,结构体。n表示该一维数组的长度,只能用小括号。

vector<vector<int>+> name; // 相当于二维数组;加号“+”的位置是空格,必须这样定义

vector容器内元素的访问 

1. 通过下标访问    vi[index]

数组长度:vi.size();

struct Stu{
    char name[20];
    int score;
};
vector<Stu> vi(100);
for(int i=0;i<vi.size();i++){
    cin>>vi[i].name>>vi[i].score;
}

 2. 通过迭代器访问

	vector<int>::iterator it = t.begin();
	for(int i=0;i<t.size();i++){
		cout<<*(it+i)<<endl; 
	}

我觉得不好用。

其他的函数:

vi.push_back(i);   

vi.pop_back(); // 分别是从尾部插入i 和删除

vi.clear(); // 可以用于多组案例的测试中,用于一个案例结束后的清除工作。

vi.insert(vi.begin()+2,-1); // 可以在任意位置添加一个元素。如,将-1添加到第二个元素后面

vi.erase(vi.begin()+3); // 可以删除任意位置的元素。如删除第四个元素a[3]

vi.erase(vi.begin()+2,vi.end()-2); // 可以删除一个范围内的所有元素 [a,b)

 

vector的定义:

vector<int> a;  // 声明定义一个int向量a

vector<int> a(10); //  声明定义一个初试大小为10的int向量a

vector<int> a(10,0); // 上一个的基础上,初始值设置为0

vector<int> b(a);// 声明一个int向量b.用a初始化他

vector<int> b(a.begin(),a.begin()+4);

vector<int> a(4,0);
a.push_back(1);
a.push_back(2);
a.push_back(8);

 这段代码,相当于定义了一个初始长度为4,初始值为0的int型vector,通过a.push_back(x)赋值,并不是从a[0]开始的,而是从第五个开始,前四个默认还是0.只能通过a[i]改变原有的值。

vector本身并没有find的方法。当vector是string类型的元素时,可以用string中的find方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值