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

建网站需要什么手续浙江省建设信息港查

建网站需要什么手续,浙江省建设信息港查,台州企业建站系统,网站空间哪个好文章目录 listvectormapset性能比较总结 list 列表#xff08;list#xff09;是C STL中的一种容器类型#xff0c;它是一个双向链表#xff0c;可以在任意位置高效地添加、删除、移动元素。 以下是一些常用的列表操作#xff1a; 创建列表 #include list std… 文章目录 listvectormapset性能比较总结 list 列表list是C STL中的一种容器类型它是一个双向链表可以在任意位置高效地添加、删除、移动元素。 以下是一些常用的列表操作 创建列表 #include list std::listint myList;添加元素 myList.push_back(1); // 在列表尾部添加元素 myList.push_front(2); // 在列表头部添加元素 myList.insert(myList.begin(), 3); // 在指定位置插入元素删除元素 myList.pop_back(); // 删除尾部元素 myList.pop_front(); // 删除头部元素 myList.erase(myList.begin()); // 删除指定位置的元素遍历列表 std::listint::iterator it; for(itmyList.begin(); it!myList.end(); it) {std::cout *it ; }获取列表大小 std::cout myList.size() std::endl;判断列表是否为空 if(myList.empty()) {std::cout List is empty std::endl; }清空列表 myList.clear();列表排序 myList.sort(); // 默认从小到大排序 myList.sort(std::greaterint()); // 从大到小排序反转列表 myList.reverse();以上是一些常用的列表操作更多操作可以参考C STL中list的文档。 vector C中的vector是STL标准模板库中的容器之一用于存储动态大小的元素序列。 以下是vector的常见操作 创建一个空的vector vectorint vec; // 创建一个空的vectorintvectorstring strVec; // 创建一个空的vectorstring在vector末尾添加元素 vec.push_back(1); // 在vector末尾添加一个int类型元素1strVec.push_back(hello); // 在vector末尾添加一个string类型元素hello访问vector中的元素 int firstElem vec[0]; // 访问第一个元素string lastElem strVec.back(); // 访问最后一个元素获取vector的大小 int size vec.size(); // 获取vector中元素的个数bool isEmpty strVec.empty(); // 判断vector是否为空删除vector中的元素 vec.pop_back(); // 删除vector末尾的一个元素strVec.erase(strVec.begin() 2); // 删除vector中索引为2的元素清空vector中所有元素 vec.clear(); // 清空vector中所有元素strVec.resize(0); // 将vector的大小设置为0遍历vector中的所有元素 for (int i 0; i vec.size(); i) {cout vec[i] ;}for (auto s : strVec) {cout s ;}第二种方法可以使用C11中的range-based for循环。 map C中的map是STL标准模板库中的关联容器之一用于存储键值对。 以下是map的常见操作 创建一个空的map mapstring, int myMap; // 创建一个空的map键为string类型值为int类型在map中插入键值对 myMap.insert(make_pair(apple, 10)); // 在map中插入键为apple值为10的键值对myMap[banana] 20; // 在map中插入键为banana值为20的键值对访问map中的元素或查找键 int value myMap[apple]; // 访问键为apple的值auto it myMap.find(banana); // 查找键为banana的迭代器if (it ! myMap.end()) {int value it-second; // 获取迭代器指向的值}获取map的大小 int size myMap.size(); // 获取map中键值对的个数bool isEmpty myMap.empty(); // 判断map是否为空删除map中的键值对 myMap.erase(apple); // 删除键为apple的键值对auto it myMap.find(banana);if (it ! myMap.end()) {myMap.erase(it); // 删除迭代器指向的键值对}清空map中的所有键值对 myMap.clear(); // 清空map中的所有键值对遍历map中的所有键值对 for (auto it myMap.begin(); it ! myMap.end(); it) {cout it-first : it-second endl;}for (auto elem : myMap) {cout elem.first : elem.second endl;}第二种方法可以使用C11中的range-based for循环。 set C中的set是STL标准模板库中的关联容器之一用于存储不重复的元素并按照一定顺序进行排序。 以下是set的常见操作 创建一个空的set setint mySet; // 创建一个空的set元素为int类型在set中插入元素 mySet.insert(10); // 在set中插入元素10mySet.insert(20); // 在set中插入元素20mySet.insert(30); // 在set中插入元素30访问set中的元素或查找元素 auto it mySet.find(20); // 查找元素20的迭代器if (it ! mySet.end()) {int value *it; // 获取迭代器指向的值}获取set的大小 int size mySet.size(); // 获取set中元素的个数bool isEmpty mySet.empty(); // 判断set是否为空删除set中的元素 mySet.erase(20); // 删除元素20auto it mySet.find(30);if (it ! mySet.end()) {mySet.erase(it); // 删除迭代器指向的元素}清空set中的所有元素 mySet.clear(); // 清空set中的所有元素遍历set中的所有元素 for (auto it mySet.begin(); it ! mySet.end(); it) {cout *it endl;}for (auto elem : mySet) {cout elem endl;}第二种方法可以使用C11中的range-based for循环。 性能比较 使用相同的算法对vector、list和set进行插入数据和删除数据操作 //insert number to list,increasing sort void insert_l(int arg){listint::iterator iter;for(iter gl.begin();iter!gl.end();iter){//ergodic listif(arg*iter){gl.insert(iter,arg);//insert numberbreak;}}if(iter gl.end()){gl.push_back(arg);//push back number} } //delete number from list void delete_l(){default_random_engine e1(seed);//new random engine with seedwhile(!gl.empty()){uniform_int_distributionunsigned u(0,gl.size()-1);listint::iterator iter gl.begin();//using iteratorfor(int i0;iu(e1);i){iter;}gl.erase(iter);//delete number} }结果 Data SizeVector Time (s)List Time (s)100000.2812570.527096500006.79223.202910000026.824107.94715000060.0688333.013200000106.619807.597 使用set在插入和删除200 000数据总共只用了2.2331秒、而vector用了106.619秒、list用了807.597秒 总结 vector的遍历性能明显比list要快。这是因为vector的元素是存储在一块连续的内存空间中可以直接通过指针进行访问。而list的元素是通过链表相互连接起来的无法直接访问需要遍历整个链表才能访问某个元素因此遍历性能相对较低。 vector和list在不同场景下有不同的优劣势需要根据具体情况选择适合的容器。例如需要随机访问或者高效的遍历操作时可以选择vector需要频繁的插入或者删除操作时可以选择list。 set是基于红黑树实现的红黑树是一种自平衡的二叉查找树它具有快速的插入、删除和查找操作的时间复杂度因此在处理大量数据时set的性能表现会更好。
http://www.dnsts.com.cn/news/78309.html

相关文章:

  • 长沙企业网站建设报价河南重大项目建设网站
  • 网站开发仓库管理系统需求分析网站页面多少
  • 做网站需要哪些东西和步骤软件开发工资一般多少深圳
  • 梅州东莞网站建设做网站的工资高吗
  • 网站规划与建设论文建设执业资格注册中心网站
  • 推广型网站建设公司网站商品展示设计
  • 网站建设与管理案例教程第三版答案视觉传达设计最好的公司
  • 个人网站备案备注信息凌风 wordpress 大学
  • 音乐网站还可以做wordpress浏览最多的文章
  • asp装饰公司网站源码东莞企业网站找谁
  • 主营网站建设会计记账怎么用h5做网站
  • 网站前面的小图标怎么做电商平台建设实施方案
  • 郑州企业自助建站wordpress 旅游
  • 网站建设开发实训报告总结自己做的网站显示不全
  • 珠海网站建设网网站建设市场行情
  • 域名到期了网站会打不开吗东凤网站建设
  • 西宁做网站治愈君博i百度推广做网站什么价位
  • 动漫网站源码下载成都网站备案太慢
  • 网站信息推广途径包括哪些国外服务器多少钱一个月
  • 吉安做网站的台州网站建设seo
  • 域名证书查询网站厦门网站建设工程
  • 建设银行网站短信错误6次四川手机响应式网站建设设计
  • 新公司怎样做网站在四川眉山江阴 网站开发
  • 检察院门户网站建设自查自纠报告陕西手机网站建设公司哪家好
  • 如何设计制作一般企业网站网站建设的推广渠道
  • 网站必须做ssl认证增城微信网站建设
  • 建站之星pythone网站开发
  • 公司网站制作找哪家食品包装设计公司排名
  • 易搜网站建设动漫制作专业适合女生吗
  • 花瓣设计网站官网入口微信app下载安装旧版本