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

想当淘客自己的网站怎么做网站建设套定额

想当淘客自己的网站怎么做,网站建设套定额,企业公示信息查询系统山西,平台后期维护C STL#xff08;标准模板库#xff09;中的容器是一组通用的、可复用的数据结构#xff0c;用于存储和管理不同类型的数据。 目录 零. 简介#xff1a; 一 . vector#xff08;动态数组#xff09; 二. list#xff08;双向链表#xff09; 三. deque#xff08…C STL标准模板库中的容器是一组通用的、可复用的数据结构用于存储和管理不同类型的数据。 目录 零. 简介 一 . vector动态数组 二. list双向链表 三. deque双端队列 四. set集合 五. map映射 零. 简介 STL 容器提供了一系列预定义的类如 vector动态数组、list双向链表、deque双端队列、set集合、map映射等。 意义和作用 提高编程效率无需自己实现常见的数据结构。代码简洁使用统一的接口和操作方式。灵活性适应不同的需求和数据类型。可扩展性易于添加新的容器或扩展现有容器的功能。性能优化经过精心设计和优化。类型安全在编译时进行类型检查。代码可维护性减少重复代码提高代码的可读性和可维护性。 例如使用 vector 可以方便地管理动态数组而不需要自己手动实现动态内存分配和元素添加、删除等操作。 一 . vector动态数组 vector 是 C STL 中的一种动态数组容器。它具有以下特点和优势 动态调整大小可以根据需要自动调整存储空间。高效的随机访问支持通过索引进行快速访问。易于使用提供了丰富的接口和操作方法。自动内存管理无需手动处理内存分配和释放。 有以下常用的 API push_back()在数组末尾添加元素。pop_back()删除数组末尾的元素。at()通过索引访问元素提供边界检查。[] 操作符通过索引访问元素。size()获取数组中元素的数量。empty()判断数组是否为空。begin()获取数组的起始迭代器。end()获取数组的末尾迭代器。clear()清空数组中的所有元素。insert()在指定位置插入元素。erase()删除指定元素或指定范围的元素。 以下是一个使用 vector 的示例代码 #include vector #include iostreamint main() {std::vectorint numbers;// 向 vector 中添加元素numbers.push_back(1);numbers.push_back(2);numbers.push_back(3);// 输出 vector 中的元素for (int num : numbers) {std::cout num ;}std::cout std::endl;return 0; } 前面的文章有更详细的介绍:http://t.csdnimg.cn/QMcDR 二. list双向链表 list 是 C STL 中的双向链表容器. 它具有以下常用的 API push_back()在链表末尾添加元素。push_front()在链表开头添加元素。insert()在指定位置插入元素。erase()删除指定元素或指定范围的元素。clear()清空链表中的所有元素。size()获取链表中元素的数量。empty()判断链表是否为空。front()获取链表开头的元素。back()获取链表末尾的元素。begin()获取链表的起始迭代器。end()获取链表的末尾迭代器。 以下是一个使用 list 的示例代码 #include list #include iostreamint main() {std::listint numbers;// 在链表末尾添加元素numbers.push_back(1);numbers.push_back(2);numbers.push_back(3);// 在链表开头添加元素numbers.push_front(0);// 输出链表中的元素for (int num : numbers) {std::cout num ;}std::cout std::endl;return 0; } 三. deque双端队列 deque 是一种可以在两端高效地进行插入和删除操作的容器。意义和作用 高效的两端操作可以在队列的两端快速添加和删除元素。动态调整大小自动根据需要调整内存。支持随机访问像数组一样可以通过索引访问元素。通用数据结构适用于多种场景。提高代码效率和可维护性提供了简洁、高效的接口。 例如可以使用 deque 来实现一个队列或栈的功能。 常用 API 包括 push_back()在队列尾部添加元素。push_front()在队列头部添加元素。pop_back()从队列尾部删除元素。pop_front()从队列头部删除元素。insert()在指定位置插入元素。erase()删除指定元素或指定范围的元素。clear()清空队列中的所有元素。size()获取队列中元素的数量。empty()判断队列是否为空。begin()获取队列的起始迭代器。end()获取队列的末尾迭代器。 下面是一个简单的 deque 使用示例代码 #include deque #include iostreamint main() {std::dequeint numbers;numbers.push_back(1); //向最后面插入数据 1numbers.push_front(2);//向最钱面插入数据 2, 1numbers.push_back(3); //向最后面插入数据 2, 1,3numbers.push_front(4);//向最钱面插入数据 4, 2, 1,3std::cout Front: numbers.front() std::endl;std::cout Back: numbers.back() std::endl;return 0; } 四. set集合 set 是一种无序且不允许重复元素的容器。 意义和作用 自动去重无需手动处理重复元素。快速查找提供高效的元素查找操作。无序存储元素的顺序是随机的。键值对操作常用于存储键值。 常用的 API 包括 insert()插入元素。find()查找元素。erase()删除元素。size()获取元素数量。empty()判断是否为空。 下面是一个简单的示例代码 #include set #include iostreamint main() {std::setint numbers { 1, 2, 3, 4, 5 };numbers.insert(3);//插入已有数据 3numbers.insert(6); //插入未有数据//循环打印for (std::setint::iterator i numbers.begin(); i ! numbers.end(); i){std::cout *i std::endl;}// 查找元素if (numbers.find(3) ! numbers.end()) {std::cout Element found std::endl;}else {std::cout Element not found std::endl;}return 0; } 五. map映射 map映射是一种关联容器它将键key和值value进行关联。 是一种无序容器其中键必须是唯一的。 意义和作用 提供了一种键值对的存储方式。快速的键值查找。自动根据键进行排序。 常用 API insert()插入键值对。find()根据键查找对应的值。erase()删除键值对。size()获取映射中键值对的数量。empty()判断映射是否为空。 下面是一个简单的示例代码 #include map #include iostreamint main() {std::mapstd::string, int grades;grades[a] 1;grades[b] 2;grades[c] 3;// 根据键查找值int aliceGrade grades[a];std::cout a: aliceGrade std::endl;return 0; } 扩展: 可以用来做观察者模式; 观察者模式是一种设计模式它定义了对象之间的一种一对多的依赖关系当一个对象的状态发生改变时所有依赖于它的对象都会得到通知并自动更新。 在 C 中可以使用观察者模式来实现 map 的变化通知。下面是一个简单的示例代码 #include iostream #include map #include string #include vectorclass Observer { public:virtual void update() 0; };class Subject { private:std::mapstd::string, int data;std::vectorObserver* observers;public:void addObserver(Observer* observer) {observers.push_back(observer);}void removeObserver(Observer* observer) {auto it std::find(observers.begin(), observers.end(), observer);if (it ! observers.end()) {observers.erase(it);}}void updateObservers() {for (Observer* observer : observers) {observer-update();}}void setKeyValue(const std::string key, int value) {data[key] value;updateObservers();}int getValue(const std::string key) {return data[key];} };class DisplayObserver1 : public Observer { public:void update() override {std::cout Data changed1 std::endl;} };class DisplayObserver2 : public Observer { public:void update() override {std::cout Data changed2 std::endl;} };int main() {Subject subject;DisplayObserver1 observer1;subject.addObserver(observer1);DisplayObserver2 observer2;subject.addObserver(observer2);subject.setKeyValue(key1, 10);return 0; }
http://www.hkea.cn/news/14572124/

相关文章:

  • 东阳网站建设哪家好潍坊电商网站建设
  • 单品商城网站源码wordpress预约订单插件
  • 开发公司网站建设如何进行网站优化设计
  • 自己怎么建立网站网站文字列表页模板
  • 杂志社网站模板中铁建设集团有限公司门户网站
  • 门户网站软文网站建设的教学设计
  • 第三方网站流量统计抖音代运营话术
  • 论坛型网站开发门户类型网站有哪些
  • 建设银行网站信任河南建设厅网站地址
  • iis5.1 建立网站太原百度seo排名软件
  • 网站收录不好排名高网站点击换图片的效果怎么做
  • 建设网站如何索要素材互联网公司排名全球
  • 用dw制作网站模板下载wordpress 查看文章id
  • 论文网站建设格式thinkphp网站建设
  • 网站开发需要哪些资料网叶制作
  • seo型网站建筑人才网站哪个比较好
  • 网站建设公司怎么做业务十大免费excel网站
  • 西安网站seo技术写一个小程序大概要多少钱
  • 咸阳免费做网站公司机械设计软件solidworks
  • 杭州公司网站建设青岛手机建站公司
  • 网站开发毕设开题报告怎么写深圳住房和建设局网站网上预约
  • 珠海自适应网站建设推拿网站制作
  • 深圳罗湖网站设计wordpress 帝国cms速度
  • node.js做网站开发哪个网站的邮箱最好
  • 怎么用源码做网站视频昆明关键词优化软件
  • 射阳做网站多少钱个人做网站的必要性
  • 山东网站建设方案制作wordpress 园林模板
  • 柳江企业网站建设公司中国空间站设计在轨飞行几年
  • 杭州e时代网站建设让Wordpress只支持手机访问
  • 西安网站建设hyk123洪梅东莞网站建设