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

企业网站建设策划书案例江门模板建站系统

企业网站建设策划书案例,江门模板建站系统,网站优化主要工作有那些内容,网站建站北京在 C 中,vector 是一种常用的动态数组容器,提供了方便的自动扩展、内存管理以及各种便捷的操作方法。它是 C 标准模板库(STL)的一部分,适用于需要动态存储和管理大量元素的场景。 在本文中,我们将简要介绍…

在 C++ 中,vector 是一种常用的动态数组容器,提供了方便的自动扩展、内存管理以及各种便捷的操作方法。它是 C++ 标准模板库(STL)的一部分,适用于需要动态存储和管理大量元素的场景。

在本文中,我们将简要介绍 vector 的常用功能,展示如何对其进行操作和排序。为了简洁起见,假设我们已经使用了 using namespace std;

1. 创建与初始化

要创建一个 vector,可以直接通过以下几种方式初始化:

vector<int> vec1;             // 空的 vector
vector<int> vec2(10);         // 创建一个大小为 10 的 vector,所有元素默认初始化为 0
vector<int> vec3(5, 2);       // 创建一个大小为 5 的 vector,所有元素初始化为 2
vector<int> vec4 = {1, 2, 3}; // 通过初始化列表创建 vector

vector 支持存储几乎所有类型的数据,只需要在声明时指定类型。

2. 添加与访问元素

vector 提供了几种方法来添加和访问元素:

  • push_back(): 在 vector 的末尾添加一个元素。
  • emplace_back(): 在末尾原地构造元素,避免不必要的拷贝。
  • [] 运算符: 使用下标访问元素。
  • at(): 安全访问元素,会进行边界检查。

示例:

vector<int> vec = {1, 2, 3};
vec.push_back(4);  // 添加元素 4 到末尾
cout << vec[0];    // 输出第一个元素,结果为 1
cout << vec.at(2); // 输出第三个元素,结果为 3

需要注意的是,[] 不进行范围检查,如果访问越界会导致未定义行为,而 at() 会抛出异常。

3. 获取大小与容量

vector 提供了几个常用函数来获取其大小、容量以及判断是否为空:

  • size(): 返回当前元素的个数。
  • capacity(): 返回当前 vector 容量,表示在不重新分配内存的情况下,最多可以存储的元素个数。
  • empty(): 判断 vector 是否为空。

示例:

cout << "Size: " << vec.size();        // 输出当前元素个数
cout << "Capacity: " << vec.capacity(); // 输出当前容量
cout << (vec.empty() ? "Empty" : "Not Empty"); // 判断是否为空
4. 删除元素

vector 提供了几种方法来删除元素:

  • pop_back(): 删除 vector 末尾的元素。
  • erase(): 删除指定位置或范围的元素。
  • clear(): 清空 vector 中的所有元素,但保留容量。

示例:

vector<int> vec = {1, 2, 3, 4, 5};
vec.pop_back();         // 删除最后一个元素,vec 变成 {1, 2, 3, 4}
vec.erase(vec.begin()); // 删除第一个元素,vec 变成 {2, 3, 4}
vec.clear();            // 清空所有元素,但容量不变
5. 排序 vector

在 C++ 中,vector 可以通过标准库中的 sort 函数来进行排序。默认情况下,sort 按照升序排序,也可以自定义排序规则。

  • 默认升序排序: 只需传入 vector 的开始和结束迭代器。
  • 自定义排序: 可以通过传入一个比较函数或函数对象来自定义排序规则,如降序排序。

升序排序示例

#include <algorithm> // 引入排序所需的头文件vector<int> vec = {5, 2, 9, 1, 5, 6};
sort(vec.begin(), vec.end());  // 默认按升序排序for (const auto& val : vec) {cout << val << " ";  // 输出: 1 2 5 5 6 9
}

降序排序示例

sort(vec.begin(), vec.end(), greater<int>());  // 使用 greater<int>() 实现降序排序for (const auto& val : vec) {cout << val << " ";  // 输出: 9 6 5 5 2 1
}

http://www.yayakq.cn/news/246918/

相关文章:

  • 长安镇网站建设凡客诚品市场份额
  • 长沙网站建设找哪家北京北控京奥建设有限公司网站
  • 做网站备案需要什么有什么可以接单做设计的网站
  • 任务网站的接口怎么做网站建设明细表
  • 手机建设中网站网站开发的费用
  • 网站建设及报价格方案湖北网站建设营销qq
  • 襄阳门户网站建设音乐网站开发结语
  • 广州魔站建站中国水土保持生态环境建设网站
  • 空气能空调如何做网站网站子页面如何做seo
  • 网站开发报价ppt永康城乡建设局网站
  • 北京 手机网站建设软件开发都有哪些项目
  • 百度推广交了钱不给做网站网站做非经营性广告需备案
  • 对网站建设的讲话私密浏览器如何下载视频
  • 工程网站模板广州 济南网站建设公司 网络服务
  • 怎么搭建网站平台django 开放api 做网站
  • 网站做招聘需要什么资质网站开发需要的知识
  • 精品在线开发网站建设企业网站怎么做跟淘宝链接
  • 专业定制网站建设团队最新发布的手机有哪些
  • 用illustrator做网站哪里可以接网站开发项目做
  • 备案核验单 网站类型做一个内容网站多少钱
  • 中国最大的软件公司排名百度seo怎么收费
  • 做网站赚钱全攻略网站密码怎么做
  • 无障碍网站建设推广前景外国建筑网站
  • 做网站卖高仿做了半个月跨境电商不想干了
  • 珠海市网站开发公司桂林最近发生的重大新闻
  • 成绩查询网站怎么做网页制作题库
  • 酒泉市建设局网站招标办房地产行业网站
  • 企业网站备案资料泉州市建设工程质量监督站网站
  • 网站建设dede苏州整站优化
  • 环保网站设计建设论文长沙企业关键词优化