vector容器

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: vector容器

1.vector基本概念





2.vector构造函数



#include<vector>
#include<iostream>
using namespace std;
void print(vector<int>& v) {
  for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
  {
    cout << *it << " ";
  }
}
void test() {
  vector<int> v1;
  for (int i = 0; i < 10; i++) {
    v1.push_back(i + 1);
  };
  print(v1);
  vector<int> v2(v1.begin(), v1.end());
  print(v2);
  vector<int> v3(10, 100);
  print(v3);
  vector<int> v4(v3);
  print(v4);
}
int main() {
  test();
  return 0;
}

3.vector赋值操作

#include<iostream>
#include<vector>
using namespace std;
void print(vector<int>& v1) {
 for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++) {
  cout << *it << " ";
 }
}
void test() {
 vector<int> v1;
 for (int i = 0; i < 5; i++) {
  v1.push_back(i + 1);
 }
 print(v1);
 cout << endl;
 vector<int> v2;
 v2 = v1;
 print(v1);
 cout << endl;
 vector<int> v3;
 v3.assign(v1.begin(), v1.end());
 print(v3);
 cout << endl;
 vector<int> v4;
 v4.assign(10, 100);
 print(v4);
 cout << endl;
}
int main() {
 test();
 return 0;
}


4.vector容量和大小

#include<iostream>
#include<vector>
using namespace std;
void print(vector<int>& v1) {
  for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++) {
    cout << *it << " ";
  };
  cout << endl;
}
void test() {
  vector<int> v1;
  for (int i = 0; i < 5; i++) {
    v1.push_back(i + 1);
  }
  print(v1);
  if (v1.empty()) {
    cout << "it is empty" << endl;
  }
  else {
    cout <<"v1.size="<< v1.size() << endl;
    cout << "v1.capacity()" << v1.capacity() << endl;
  }
  v1.resize(10);
  cout << "the resize is" << " ";
  print(v1);
  cout << endl;
  //resize 重新指定大小 ,若指定的更大,默认用0填充新位置,可以利用重载版本替换默认填充
  v1.resize(10, 2);
  print(v1);
}
int main() {
  test();
  return 0;
}

5.vector数据存取

#include<iostream>
#include<vector>
using namespace std;
void test() {
 vector<int> v1;
 for (int i = 0; i < v1.size(); i++) {
  cout << v1[i] << " ";
 }
 cout << endl;
 for (int j = 0; j < v1.size(); j++) {
  cout << v1.at(j) << " ";
 }
 cout << endl;
 cout << "v1的第一个元素" << v1.front() << endl;
 cout << "v1的最后一个元素" << v1.back() << endl;
}
int main() {
 test();
 return 0;
}


6.vector预留空间




#include<iostream>
#include<vector>
using namespace std;
void test() {
  vector<int> v1;
  v1.reserve(100000);
}
int main() {
  test();
  return 0;
}



7.vector互换容器



#include<iostream>
#include<vector>
using namespace std;
void print(vector<int>& v1) {
  for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++) {
    cout << *it << " ";
  }
  cout << endl;
  cout << "-------------------------------------------------" << endl;
}
void test() {
  vector<int> v1;
  for (int i = 0; i < 10; i++) {
    v1.push_back(i + 1);
  }
  print(v1);
  vector<int> v2;
  for (int i = 10; i > 0; i--) {
    v2.push_back(i + 1);
  }
  print(v2);
  cout << "交换后的数据" << endl;
  v1.swap(v2);
  print(v1);
  print(v2);
}
int main() {
  test();
  return 0;
}





相关文章
|
3月前
|
存储 C++ 容器
如何将没有复制或移动构造函数的对象放入vector容器
如何将没有复制或移动构造函数的对象放入vector容器
38 0
|
5月前
|
存储 算法 编译器
8.STL中Vector容器的常见操作(附习题)
8.STL中Vector容器的常见操作(附习题)
|
5月前
|
C++ 容器
C++之评委打分案例(vector与deque容器练习)
C++之评委打分案例(vector与deque容器练习)
|
5月前
|
存储 算法 C++
C++一分钟之-容器概览:vector, list, deque
【6月更文挑战第21天】STL中的`vector`是动态数组,适合随机访问,但插入删除非末尾元素较慢;`list`是双向链表,插入删除快但随机访问效率低;`deque`结合两者优点,支持快速双端操作。选择容器要考虑操作频率、内存占用和性能需求。注意预分配容量以减少`vector`的内存重分配,使用迭代器而非索引操作`list`,并利用`deque`的两端优势。理解容器内部机制和应用场景是优化C++程序的关键。
62 5
|
5月前
|
存储 算法 C++
【C++/STL】:vector容器的基本使用
【C++/STL】:vector容器的基本使用
40 1
|
4月前
|
存储 安全 C++
|
4月前
|
存储 算法 C++
【C++】详解STL容器之一的 vector
【C++】详解STL容器之一的 vector
|
5月前
|
算法 C++ 容器
C++之vector容器操作(构造、赋值、扩容、插入、删除、交换、预留空间、遍历)
C++之vector容器操作(构造、赋值、扩容、插入、删除、交换、预留空间、遍历)
232 0
|
5月前
|
算法 编译器 Linux
【C++/STL】:vector容器的底层剖析&&迭代器失效&&隐藏的浅拷贝
【C++/STL】:vector容器的底层剖析&&迭代器失效&&隐藏的浅拷贝
44 0
|
5月前
|
存储 缓存 C++
Vector容器介绍
Vector容器介绍