当前位置: 首页 > 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.w-s-a.com/news/361783/

相关文章:

  • 网页制作网站素材项目建设全过程管理
  • 正能量网站下载柬埔寨网赌网站开发
  • 如何免费建设公司网站广州传业建设有限公司网站
  • 织梦做的网站快照被攻击张家口网站建设公司
  • 平顶山公司网站建设南昌网站seo多少钱
  • 网站开发要先买服务器吗建设婚恋网站用什么搭建
  • 我想自己在网站上发文章 怎样做wordpress站点安装
  • 北京模板网站开发全包昆明网站开发正规培训
  • 西咸新区建设环保网站谷歌风格wordpress
  • 嘉兴港区建设局网站2018年网站开发
  • 网站里图片做超链接专业开发网站报价单
  • server2003网站建设做销售记住这十句口诀
  • microsoft免费网站网站后台登陆路径
  • 贵州住房和城乡建设局网站做网站排名费用多少钱
  • 现在个人做网站还能盈利吗xampp用wordpress
  • 做网站 租服务器温岭建设公司网站
  • 四川住房和城乡建设厅网站官网做网站最贵
  • 右玉网站建设四川林峰脉建设工程有限公司网站
  • 网站推广小助手杭州百度百家号seo优化排名
  • 怎么做网站搜索框搜索网站备案拍照背景幕布
  • 建设部网站城市规划资质标准伊春网络推广
  • 如何设计酒店网站建设深圳市房地产信息系统平台
  • 伍佰亿网站怎么样网站建设前台后台设计
  • 做整装的网站北京哪个网站制作公司
  • 建设赚钱的网站福州便民生活网
  • 咸阳网站设计建设公司小程序打包成app
  • 做视频网站视频文件都存放在哪做旅游宣传图的网站有哪些
  • 地方门户类网站产品推广惠州市中国建设银行网站
  • 网站建设公司推荐5788移动版wordpress
  • 产品类型 速成网站淘宝怎么建立自己的网站