vector ,set ,iterator的使用方法

xiaoxiao2025-07-09  12

一 vector 的初始化

vector可以使用数组初始化 

vector的初始化: vector<int> a ; //声明一个int型向量a vector<int> a(10) ; //声明一个初始大小为10的向量 vector<int> a(10, 1) ; //声明一个初始大小为10且初始值都为1的向量 使用数组初始化vector: int n[] = {1, 2, 3, 4, 5} ; vector<int> a(n, n+5) ; //将数组n的前5个元素作为向量a的初值 vector<int> a(&n[1], &n[4]) ; //将n[1] - n[4]范围内的元素作为向量a的初值 vector<int> a ; a.resize(10) //重新指定向量的长度

vector迭代器的使用方法:

int n[] = { 0,1,2,3,4 }; vector<int> vec(n,n+5); for (vector<int>::iterator iter = vec.begin();iter != vec.end();++iter) { cout << *iter << " "; } cout << endl; for (int j = 3;j < 6;++j) { if (find(vec.begin(),vec.end(),j) != vec.end()) cout << j << " "; } cout << endl; vec.clear();//清空vector cout << vec.size()<< endl;

注意:vector中没有find()函数,需要添加#include<algorithm>

二 set的使用方法

set集合是c++ stl库中自带的一个容器,set具有以下两个特点:

1 set中的元素都是排好序的   

2  set集合中没有重复的元素

1 set的初始化:

int n[] = { 0,1,2,3,4 }; set<int> set1(n, n + 5); //set<int> set2(10,1); //错误 set<int> set3={4,5,6};

2 set迭代器

set中并没有重载[]运算符,只能通过迭代器访问元素

int n[] = { 0,1,2,3,4 }; set<int> set1(n, n + 5); //set<int> set2(10,1); //错误 set<int> set3={4,5,6}; for (set<int>::iterator s = set1.begin();s != set1.end();++s) { cout <<*s<< " "; } cout << endl; for (int j = 3;j < 6;++j) { if (set1.find(j) != set1.end()) cout << *set1.find(j) << " "; }

 

 

 

vector和set中都有begin()和end()函数,用于返回其中第一个元素和最后一个元素的后一位置的迭代器

 

 

数组的初始化: 

 

参考网址:https://www.cnblogs.com/aminxu/p/4686332.html

转载请注明原文地址: https://www.6miu.com/read-5032817.html

最新回复(0)