当前位置: 首页 > news >正文

免费网站建设浩森宇特百度seo排名如何提升

免费网站建设浩森宇特,百度seo排名如何提升,企业网站推广定义,上海免费网站建设品牌#include<array> std::array 是C11引入的一个模板类&#xff0c;用于表示固定大小的数组。它结合了原生数组的高效性和标准库容器的便利性。以下是一些使用 std::array 的示例&#xff0c;展示如何声明、初始化和操作 std::array。 1. 声明和初始化 声明一个空的 std::…

#include<array>
std::array 是C++11引入的一个模板类,用于表示固定大小的数组。它结合了原生数组的高效性和标准库容器的便利性。以下是一些使用 std::array 的示例,展示如何声明、初始化和操作 std::array

1. 声明和初始化

声明一个空的 std::array
#include <array>
#include <iostream>int main() {// 声明一个大小为5的int类型的std::arraystd::array<int, 5> arr;// 使用默认值初始化(所有元素初始化为0)for (const auto& elem : arr) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

0 0 0 0 0
使用列表初始化
#include <array>
#include <iostream>int main() {// 使用列表初始化std::array<int, 5> arr = {1, 2, 3, 4, 5};// 遍历并打印数组元素for (const auto& elem : arr) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

1 2 3 4 5
部分初始化

如果提供的初始化值少于数组大小,剩余的元素将被默认初始化为0。

#include <array>
#include <iostream>int main() {// 部分初始化std::array<int, 5> arr = {1, 2};// 遍历并打印数组元素for (const auto& elem : arr) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

1 2 0 0 0

2. 访问数组元素

使用下标操作符 []
#include <array>
#include <iostream>int main() {std::array<int, 5> arr = {1, 2, 3, 4, 5};// 访问并修改数组元素arr[2] = 10;// 打印修改后的数组for (const auto& elem : arr) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

1 2 10 4 5
使用 at() 方法

at() 方法提供了范围检查,如果索引超出范围,会抛出 std::out_of_range 异常。

#include <array>
#include <iostream>
#include <stdexcept>int main() {std::array<int, 5> arr = {1, 2, 3, 4, 5};try {// 访问数组元素std::cout << arr.at(2) << std::endl;// 尝试访问超出范围的元素std::cout << arr.at(10) << std::endl;} catch (const std::out_of_range& e) {std::cerr << "Error: " << e.what() << std::endl;}return 0;
}

输出:

3
Error: std::out_of_range

3. 获取数组大小

std::array 提供了 size() 方法来获取数组的大小。

#include <array>
#include <iostream>int main() {std::array<int, 5> arr = {1, 2, 3, 4, 5};// 获取数组大小std::cout << "Array size: " << arr.size() << std::endl;return 0;
}

输出:

Array size: 5

4. 使用迭代器

std::array 支持迭代器操作,可以使用标准库算法。

#include <array>
#include <iostream>
#include <algorithm> // std::sortint main() {std::array<int, 5> arr = {5, 2, 9, 1, 5};// 使用标准库算法排序std::sort(arr.begin(), arr.end());// 打印排序后的数组for (const auto& elem : arr) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

1 2 5 5 9

5. 使用 std::array 作为函数参数

传递 std::array 到函数
#include <array>
#include <iostream>void printArray(const std::array<int, 5>& arr) {for (const auto& elem : arr) {std::cout << elem << " ";}std::cout << std::endl;
}int main() {std::array<int, 5> arr = {1, 2, 3, 4, 5};// 将数组传递给函数printArray(arr);return 0;
}

输出:

1 2 3 4 5

6. 使用 std::array 的优势

  • 固定大小std::array 的大小在编译时确定,因此比 std::vector 更高效。
  • 安全性:提供了范围检查(通过 at() 方法)。
  • 兼容性:支持标准库算法和迭代器操作。

#include <list>
std::list 是C++标准模板库(STL)中的一个双向链表容器。它提供了高效的插入和删除操作,并且可以动态调整大小。以下是一些使用 std::list 的示例,展示如何声明、初始化、操作和遍历 std::liststd::list是一个非常灵活的容器,适用于需要频繁插入和删除元素的场景。

1. 声明和初始化

声明一个空的 std::list
#include <list>
#include <iostream>int main() {std::list<int> myList;// 使用 push_back 添加元素myList.push_back(10);myList.push_back(20);myList.push_back(30);// 打印列表中的元素for (const auto& elem : myList) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

10 20 30
使用初始化列表初始化
#include <list>
#include <iostream>int main() {// 使用初始化列表初始化std::list<int> myList = {1, 2, 3, 4, 5};// 打印列表中的元素for (const auto& elem : myList) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

1 2 3 4 5

2. 插入和删除操作

插入元素

std::list 提供了多种插入方法,如 push_frontpush_backinsert

#include <list>
#include <iostream>int main() {std::list<int> myList = {1, 2, 3, 4, 5};// 在列表开头插入元素myList.push_front(0);// 在列表末尾插入元素myList.push_back(6);// 在指定位置插入元素auto it = myList.begin();std::advance(it, 3); // 移动到第3个位置myList.insert(it, 99);// 打印列表中的元素for (const auto& elem : myList) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

0 1 2 99 3 4 5 6
删除元素

std::list 提供了 pop_frontpop_backerase 方法来删除元素。

#include <list>
#include <iostream>int main() {std::list<int> myList = {0, 1, 2, 99, 3, 4, 5, 6};// 删除列表开头的元素myList.pop_front();// 删除列表末尾的元素myList.pop_back();// 删除指定位置的元素auto it = myList.begin();std::advance(it, 3); // 移动到第3个位置myList.erase(it);// 打印列表中的元素for (const auto& elem : myList) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

1 2 3 4 5

3. 遍历列表

使用范围基于的 for 循环
#include <list>
#include <iostream>int main() {std::list<int> myList = {1, 2, 3, 4, 5};// 使用范围基于的 for 循环遍历列表for (const auto& elem : myList) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

1 2 3 4 5
使用迭代器
#include <list>
#include <iostream>int main() {std::list<int> myList = {1, 2, 3, 4, 5};// 使用迭代器遍历列表for (auto it = myList.begin(); it != myList.end(); ++it) {std::cout << *it << " ";}std::cout << std::endl;return 0;
}

输出:

1 2 3 4 5

4. 其他常用操作

获取列表大小
#include <list>
#include <iostream>int main() {std::list<int> myList = {1, 2, 3, 4, 5};// 获取列表大小std::cout << "List size: " << myList.size() << std::endl;return 0;
}

输出:

List size: 5
清空列表
#include <list>
#include <iostream>int main() {std::list<int> myList = {1, 2, 3, 4, 5};// 清空列表myList.clear();// 检查列表是否为空if (myList.empty()) {std::cout << "List is empty." << std::endl;}return 0;
}

输出:

List is empty.
反转列表
#include <list>
#include <iostream>
#include <algorithm> // std::reverseint main() {std::list<int> myList = {1, 2, 3, 4, 5};// 反转列表myList.reverse();// 打印反转后的列表for (const auto& elem : myList) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

5 4 3 2 1
排序列表
#include <list>
#include <iostream>
#include <algorithm> // std::sortint main() {std::list<int> myList = {5, 2, 9, 1, 5};// 排序列表myList.sort();// 打印排序后的列表for (const auto& elem : myList) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

输出:

1 2 5 5 9

5. 使用 std::list 的优势

  • 高效的插入和删除操作std::list 是双向链表,插入和删除操作的时间复杂度为 O(1)。
  • 动态调整大小:可以动态添加和删除元素,不需要预先分配固定大小。
  • 支持迭代器操作:可以使用标准库算法进行操作。

#include <map>

std::map 是C++标准模板库(STL)中的一个关联容器,用于存储键值对(key-value pairs)。它基于红黑树实现,能够高效地进行插入、删除和查找操作。以下是一些使用 std::map 的示例,展示如何声明、初始化、操作和遍历 std::map
std::map 是一个非常强大的关联容器,适用于需要高效查找、插入和删除操作的场景。

1. 声明和初始化

声明一个空的 std::map
#include <map>
#include <iostream>int main() {std::map<int, std::string> myMap;// 插入键值对myMap[1] = "one";myMap[2] = "two";myMap[3] = "three";// 打印键值对for (const auto& pair : myMap) {std::cout << pair.first << ": " << pair.second << std::endl;}return 0;
}

输出:

1: one
2: two
3: three
使用初始化列表初始化
#include <map>
#include <iostream>int main() {// 使用初始化列表初始化std::map<int, std::string> myMap = {{1, "one"},{2, "two"},{3, "three"}};// 打印键值对for (const auto& pair : myMap) {std::cout << pair.first << ": " << pair.second << std::endl;}return 0;
}

输出:

1: one
2: two
3: three

2. 插入和删除操作

插入键值对

std::map 提供了多种插入方法,如 operator[]insert

#include <map>
#include <iostream>int main() {std::map<int, std::string> myMap;// 使用 operator[] 插入键值对myMap[1] = "one";myMap[2] = "two";// 使用 insert 方法插入键值对myMap.insert(std::make_pair(3, "three"));// 打印键值对for (const auto& pair : myMap) {std::cout << pair.first << ": " << pair.second << std::endl;}return 0;
}

输出:

1: one
2: two
3: three
删除键值对

std::map 提供了 erase 方法来删除键值对。

#include <map>
#include <iostream>int main() {std::map<int, std::string> myMap = {{1, "one"},{2, "two"},{3, "three"}};// 删除键为2的键值对myMap.erase(2);// 打印键值对for (const auto& pair : myMap) {std::cout << pair.first << ": " << pair.second << std::endl;}return 0;
}

输出:

1: one
3: three

3. 查找和访问键值对

查找键值对

std::map 提供了 find 方法来查找键值对。

#include <map>
#include <iostream>int main() {std::map<int, std::string> myMap = {{1, "one"},{2, "two"},{3, "three"}};// 查找键为2的键值对auto it = myMap.find(2);if (it != myMap.end()) {std::cout << "Found: " << it->first << " -> " << it->second << std::endl;} else {std::cout << "Key not found." << std::endl;}return 0;
}

输出:

Found: 2 -> two
访问键值对

可以直接使用 operator[] 或迭代器来访问键值对。

#include <map>
#include <iostream>int main() {std::map<int, std::string> myMap = {{1, "one"},{2, "two"},{3, "three"}};// 使用 operator[] 访问键值对std::cout << "Key 1: " << myMap[1] << std::endl;// 使用迭代器访问键值对for (const auto& pair : myMap) {std::cout << pair.first << ": " << pair.second << std::endl;}return 0;
}

输出:

Key 1: one
1: one
2: two
3: three

4. 遍历 std::map

使用范围基于的 for 循环
#include <map>
#include <iostream>int main() {std::map<int, std::string> myMap = {{1, "one"},{2, "two"},{3, "three"}};// 使用范围基于的 for 循环遍历for (const auto& pair : myMap) {std::cout << pair.first << ": " << pair.second << std::endl;}return 0;
}

输出:

1: one
2: two
3: three
使用迭代器
#include <map>
#include <iostream>int main() {std::map<int, std::string> myMap = {{1, "one"},{2, "two"},{3, "three"}};// 使用迭代器遍历for (auto it = myMap.begin(); it != myMap.end(); ++it) {std::cout << it->first << ": " << it->second << std::endl;}return 0;
}

输出:

1: one
2: two
3: three

5. 其他常用操作

获取 std::map 的大小
#include <map>
#include <iostream>int main() {std::map<int, std::string> myMap = {{1, "one"},{2, "two"},{3, "three"}};// 获取大小std::cout << "Map size: " << myMap.size() << std::endl;return 0;
}

输出:

Map size: 3
清空 std::map
#include <map>
#include <iostream>int main() {std::map<int, std::string> myMap = {{1, "one"},{2, "two"},{3, "three"}};// 清空 mapmyMap.clear();// 检查是否为空if (myMap.empty()) {std::cout << "Map is empty." << std::endl;}return 0;
}

输出:

Map is empty.

6. 使用 std::map 的优势

  • 高效的查找、插入和删除操作:基于红黑树实现,操作的时间复杂度为 O(log n)。
  • 自动排序:键值对会根据键自动排序。
  • 支持迭代器操作:可以使用标准库算法进行操作。
http://www.hengruixuexiao.com/news/33727.html

相关文章:

  • 二手车网站源码北京网络营销
  • 做租赁哪个网站好可以投放广告的网站
  • photoshop下载安装连云港seo
  • 有没有做微场景的网站可以搜任何网站的浏览器
  • wordpress 中型网站网页界面设计
  • 某个网站做拍卖预展的好处seo查询是什么意思
  • 深圳网站建设公司多吗seo标题优化是什么意思
  • 上门做美容的有什么网站商城推广软文范文
  • 飓风算法恢复的网站如何建立个人网站的步骤
  • 香港免费云服务器仓山区seo引擎优化软件
  • 单网页网站如何做百度识图找原图
  • 记事本怎么做网站图片链接西安seo计费管理
  • wordpress update ftp南宁网站seo外包
  • 电商网站设计图关键词快速排名怎么做
  • 北碚网站建设专业外贸网络推广
  • 用织梦做网站后面可以改吗职业技能培训平台
  • 网站如何做导航条下拉菜单seo优化 搜 盈seo公司
  • 做网站哪里买空间好百度竞价推广流程
  • 专业模板网站制作建网站的软件有哪些
  • wordpress 分类子类seo点击工具
  • 网站是什么的集合高清网站推广免费下载
  • python爬虫windows优化大师绿色版
  • 网站建设遵循原则关键词有哪些关联词
  • 加盟手机网站源码南宁优化网站网络服务
  • 网站服务器在哪网页设计参考网站
  • 提供网站制作公司万能搜索引擎网站
  • 在自己网站做支付可以吗直销怎么做才最快成功
  • 做核酸收费seo如何快速排名百度首页
  • 做农宿的网站昆明seo外包
  • 做的网站必须备案自己的网站怎么在百度上面推广