本文共 2148 字,大约阅读时间需要 7 分钟。
vector是C++中一个强大的动态数组容器,广泛应用于数据存储和处理。以下是vector的基础操作:
vector<T>
定义一个动态数组,T为元素的数据类型。vector vec;
push_back()
函数将元素添加到末尾。vec.push_back(10);vec.push_back(20);
cout << vec[0] << endl; // 输出第一个元素
erase()
函数删除元素。// 删除第一个元素vec.erase(vec.begin());
clear()
函数清空所有元素。vec.clear();
size()
函数。int size = vec.size();
vector ::iterator it = vec.begin();for (it = vec.begin(); it != vec.end(); ++it) { cout << *it << endl;}
sort()
函数对向量进行排序,默认按升序排列。sort(vec.begin(), vec.end());
reverse()
函数将向量反转。reverse(vec.begin(), vec.end());
insert()
函数将元素插入指定位置。vec.insert(vec.begin() + 1, 30); // 在位置1前插入30
insert()
函数插入多个元素。vec.insert(vec.begin() + 1, 2, 40); // 在位置1前插入两个40
vector subVec = {10, 20};vec.insert(vec.begin(), subVec.begin(), subVec.end());
ifstream
读取文件数据并存储到vector中。ifstream fin("data.txt");vector vec;int num;while (fin >> num) { vec.push_back(num);}
ofstream
将向量数据写入文件。ofstream fout("data.txt");for (int num : vec) { fout << num << endl;}
size()
和empty()
函数检查向量是否为空。if (!vec.empty()) { cout << "向量不为空" << endl;}
find()
函数查找元素。auto it = vec.find(5);if (it != vec.end()) { cout << "找到元素5" << endl;}
replace()
函数替换元素。vec.replace(2, 5, 100); // 替换第3个到第4个元素为100
insert()
函数插入元素比push_back()
更高效。// 高效插入vec.insert(vec.begin() + i, a);
erase()
函数删除元素比delete
操作更高效。vec.erase(vec.begin() + i, vec.end() + j);
struct Pixel { unsigned char r, g, b; Pixel(unsigned char red = 0, unsigned char green = 0, unsigned char blue = 0) : r(red), g(green), b(blue) {}};vectorpixels;// 读取图像并初始化pixels
vector intData;for (float f : floatData) { intData.push_back(static_cast (f));}
通过以上内容,开发者可以全面了解C++中的vector类,灵活运用它进行数据处理和存储。
转载地址:http://trrfk.baihongyu.com/