C++ vector

1.向量类模板vector

1.1向量是一种随机访问的数组类型,提供了对元素的快速,随机访问,以及在序列尾部快速、随机插入和删除操作,它是大小可变的向量。

2.创建向量vector的方法

std::vector<type> name; 例如std::vector<int> initvector;

std::vector<int> v1(10) ;    //v1有10元素,每个元素都初始化为0

std::vector<int> v2{10} ;    //v2有1个元素,该元素是10

std::vector<int> v3(10,1) ;  // v3有10个元素,每个元素都是1

std::vector<int> v4{10 , 1};   // v4有2个元素,分别为10和1 

注意:

std::vector<string> s1{“a”,“b”,"c"} ;  //正确,列表初始化

std::vector<string> s2(“a”,“b”,"c") ;//错误

std::vector<string> s3{"hi"} //列表初始化:v3只有一个一个元素

std::vector<string> v4("hi"); //错误,不能使用字符串字面值构建vector对象

std::vector<string> v5{10}; //v5有10个默认值

std::vector<string> v6{10,“hi”};//v6有10个值为hi的元素

1.3vector的常用方法

assign(first,last)使用方法迭代器first和last所辖范围内的元素类替换向量元素

push_back(x)在向量尾添加元素x

pop_back删除向量最后一个元素

insert(i,x)把x值插入向量迭代器i所指明的向量位置

at(n)返回向量中第n位的元素的值

front返回向量起始元素的引用

back返回向量末尾元素的引用

begin返回向量中第一个元素的迭代器

end返回指向向量中最后一个元素的迭代器

size返回向量的大小

capacity返回当前向量最多可以容纳的元素个数

clear清除向量

empty判断向量是否为空

erase(i)删除迭代器i所指向的元素,例如i=iterator.begin

erase(start,end)删除迭代器start和end所辖范围内的向量元素

#include <iostream>
#include <string>
#include <vector>
 
using namespace std;

class per
{
public:
protected:
private:
};


int main()
{
	vector<int> v;
	vector<double> d;
	vector<string> s;
	vector<per> p;

	v.push_back(1);
	v.push_back(2);
	v.push_back(3);
	v.push_back(4);
	v.push_back(5);

	/*普通方式遍历向量,因为向量可以用下标访问*/
	/*int size = v.size();

	for (int i = 0; i < size; i++)
	{
		cout << v[i] << endl;
	}*/

	/*迭代器方式遍历数组,迭代器是指向数组的一个指针 iterator*/
	vector<int>::const_iterator it = v.begin(); //获得向量迭代器
	while (it!=v.end())
	{
		cout << *it++ << endl; //it先自加,再取值it
	}

	cout << "--------首尾--------" << endl;
	cout << "首元素:"<<v.front() <<endl;//第一个元素
	cout << "尾元素:"<<v.back()  <<endl;//最后一个元素

	cout << "----删除第一个元素---" << endl;

it = v.begin();

v.erase(it); //删除第一个元素1 cout <<"向量当前大小:"<<v.size() << endl; cout << "---------at----------" << endl; cout <<"1位置的元素:"<< v.at(1)<<endl;//打印第二个元素 结果为3 cout << "----插入后的数组-----" << endl; it = v.begin(); v.insert(it + 2, 100); //在第二个位置插入元素100 while (it != v.end()) { cout << *it++ << endl; //it先自加,再取值it } system("pause"); return 0; }输出结果如下


嗨!关于C++中的vector,我可以提供一些基本信息。vectorC++标准库中的一个容器,用于存储和管理动态大小的数组。它提供了一系列的成员函数,使得对其进行插入、删除和访问元素等操作非常方便。 你可以通过包含`<vector>`头文件来使用vector。下面是一个简单的示例代码,展示了如何定义和使用一个vector: ```cpp #include <iostream> #include <vector> int main() { // 定义一个空的vector std::vector<int> myVector; // 向vector中添加元素 myVector.push_back(1); myVector.push_back(2); myVector.push_back(3); // 访问vector中的元素 std::cout << "第一个元素: " << myVector[0] << std::endl; std::cout << "第二个元素: " << myVector[1] << std::endl; std::cout << "第三个元素: " << myVector[2] << std::endl; // 使用迭代器遍历vector std::cout << "所有元素: "; for (auto it = myVector.begin(); it != myVector.end(); ++it) { std::cout << *it << " "; } std::cout << std::endl; // 获取vector的大小 std::cout << "Vector大小: " << myVector.size() << std::endl; // 清空vector myVector.clear(); // 检查vector是否为空 std::cout << "Vector是否为空: " << (myVector.empty() ? "是" : "否") << std::endl; return 0; } ``` 这只是vector的一些基本用法,它还提供了许多其他功能,如插入、删除、排序等。你可以参考C++的文档来了解更多关于vector的操作和特性。希望对你有帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值