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

蓝色响应式机械类网站做网站的外包能学到什么

蓝色响应式机械类网站,做网站的外包能学到什么,网站开发技术是什么,wordpress首页调用分类版块目录 一、list的介绍二、list的使用list的定义方式 三、list的插入和删除push_back和pop_backpush_front和pop_frontinserterase 四、list的迭代器使用五、list的元素获取六、list的大小控制七、list的操作函数sort和reversemergeremoveremove_ifuniqueassignswap 一、list的介… 目录 一、list的介绍二、list的使用list的定义方式 三、list的插入和删除push_back和pop_backpush_front和pop_frontinserterase 四、list的迭代器使用五、list的元素获取六、list的大小控制七、list的操作函数sort和reversemergeremoveremove_ifuniqueassignswap 一、list的介绍 list是一种可以在常数范围内在任意位置进行插入和删除的序列式容器并且该容器可以前后双向迭代。list的底层是双向链表结构双向链表中每个元素存储在互不相关的独立结点当中在结点中通过指针指向其前一个元素和后一个元素。list与forward_list非常相似最主要的不同在于forward_list是单链表只能进行单方向迭代。 与其他容器相比list通常在任意位置进行插入、删除元素的执行效率更高。list和forward_list最大的缺陷是不支持在任意位置的随机访问其次list还需要一些额外的空间以保存每个结点之间的关联信息对于存储的类型较小元素来说这可能是一个重要的因素。 二、list的使用 list的定义方式 构造函数接口说明list()构造空的listlist (size_type n, const value_type val value_type())构造的list中包含n个值为val的元素list (const list x)拷贝构造函数list (InputIterator first, InputIterator last)用[first, last)区间中的元素构造list void test_list() {//构造int类型的空容器listint lt1; // 构造一个含有n个val的某类型容器listint lt2(5, 2);//拷贝构造某类型容器listint lt3(lt2);//使用迭代器拷贝构造某一段内容string str(hello world);listchar lt4(str.begin(), str.end()); //构造string对象某段区间的复制品//构造数组某段区间的复制品int arr[] { 1, 2, 3, 4, 5 };listint lt5(arr, arr sizeof(arr) / sizeof(int)); }三、list的插入和删除 函数声明接口说明push_back在list尾部插入值为val的元素pop_back删除list中最后一个元素push_front在list首元素前插入值为val的元素pop_front删除list中第一个元素insert在list position 位置中插入值为val的元素erase删除list position位置的元素 push_back和pop_back void test1_list() {//push_back()和pop_back(),两种循环都可以listint lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);auto it lt.begin();while (it ! lt.end()){cout *it ; //1 2 3 4it;}cout endl;lt.pop_back();lt.pop_back();for (auto e : lt){cout e ; //1 2}cout endl; }push_front和pop_front void test2_list() {//push_front和pop_front,通常用范围for方便一点listint lt1;lt1.push_front(1);lt1.push_front(2);lt1.push_front(3);for (auto e : lt1){cout e ; //3 2 1}cout endl;lt1.pop_front();for (auto e : lt1){cout e ; //2 1}cout endl; }insert 在指定迭代器位置插入一个数。在指定迭代器位置插入n个值为val的数。在指定迭代器位置插入一段迭代器区间左闭右开。 void test3_list() {listint lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);lt.push_back(5);//5前插入17//v.insert(v.begin() 5, 17); //顺序表的话迭代器开头5就可以插入auto it lt.begin(); //链表1.类似指针指到5前2.插入for (size_t i 0; i 5; i) {it;}lt.insert(it,17); for (auto e : lt){cout e ; //1 2 3 4 5 17}cout endl;//在指定的数前插入例如在4前插入100使用find找到该数it find(lt.begin(), lt.end(), 4);if (it ! lt.end()){lt.insert(it, 100);}for (auto e : lt){cout e ; //1 2 3 100 4 5 17}cout endl; }find函数是头文件“algorithm”当中的一个函数该函数在指定迭代器区间左闭右开寻找指定值的位置并返回该位置的迭代器。 templateclass InputIterator, class TInputIterator find (InputIterator first, InputIterator last, const T val) {while (first!last) {if (*firstval) return first;first;}return last; }erase list当中的erase函数支持两种删除方式 删除指定迭代器位置的元素。删除指定迭代器区间左闭右开的所有元素。 void test4_list() {listint lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);lt.push_back(5);lt.push_back(6);lt.push_back(7);auto it find(lt.begin(), lt.end(), 3);lt.erase(it); //删除3for (auto e : lt){cout e ; //1 2 4 5 6 7}cout endl;it find(lt.begin(), lt.end(), 5);lt.erase(it, lt.end()); //删除5后所有元素(左闭右开)for (auto e : lt){cout e ; //1 2 4}cout endl; }四、list的迭代器使用 函数声明接口说明begin end返回第一个元素的迭代器返回最后一个有效元素下一个位置的迭代器rbegin rend返回第一个元素的reverse_iterator,即end位置返回最后一个有效元素下一个位置的reverse_iterator,即begin位置 void test5_list() {//正向迭代器遍历容器listint lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);//listint::iterator it lt.begin();auto it lt.begin();while (it ! lt.end()){cout *it ; //1 2 3 4it;}cout endl;//反向迭代器遍历容器listint lt1;lt1.push_back(1);lt1.push_back(2);lt1.push_back(3);lt1.push_back(4);auto rit lt1.rbegin();while (rit ! lt1.rend()){cout *rit ; //4 3 2 1rit;}cout endl; }五、list的元素获取 函数声明接口说明front返回list的第一个节点中值的引用back返回list的最后一个节点中值的引用 void test6_list() {listint lt;lt.push_back(0);lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);cout lt.front() endl; //0cout lt.back() endl; //4 }六、list的大小控制 函数声明接口说明size返回list中有效节点的个resize1.当所给值大于当前的size时将size扩大到该值扩大的数据为第二个所给值若未给出则默认为容器所存储类型的默认构造函数所构造出来的值。2.当所给值小于当前的size时将size缩小到该值。empty检测list是否为空是返回true否则返回falseclear清空list中的有效元素 void test7_list() {//size获取当前容器当中的元素个数listint lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);cout lt.size() endl; //4//resize扩容(可赋值)或缩容listint lt1(5, 2);for (auto e : lt1){cout e ; //2 2 2 2 2}cout endl;lt1.resize(8, 5); //将size扩大为8扩大的值为5for (auto e : lt1){cout e ; //2 2 2 2 2 5 5 5}cout endl;lt1.resize(3); //将size缩小为3for (auto e : lt1){cout e ; //2 2 2}cout endl;//empty判断是否为空没元素返回1有元素返回0listint lt2;cout lt2.empty() endl; //1cout lt1.empty() endl; //0//clear清空容器(size元素)listint lt4(5, 2);for (auto e : lt4){cout e ; //2 2 2 2 2}cout endl; cout lt4.size() endl; //5lt.clear(); //清空容器for (auto e : lt){cout e ; //(无数据)}cout endl; cout lt.size() endl; //0 }七、list的操作函数 函数声明接口说明sort将容器当中的数据默认排为升序reverse将容器当中元素的位置进行逆置splice用于两个list容器之间的拼接remove用于删除容器当中特定值的元素remove_if用于删除容器当中满足条件的元素unique用于删除容器当中连续的重复元素merge将一个有序list容器合并到另一个有序list容器当中使得合并后的list容器任然有序。类似于归并排序assign将新内容分配给容器替换其当前内容swap交换两个容器的内容 sort和reverse void test8_list() {listint lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);lt.push_back(10);lt.push_back(20);for (auto e : lt){cout e ; //1 2 3 4 10 20}cout endl;lt.reverse();for (auto e : lt){cout e ; //20 10 4 3 2 1}cout endl; }merge merge函数用于将一个有序list容器合并到另一个有序list容器当中使得合并后的list容器任然有序。类似于归并排序 void test10_list() {listint lt;lt.push_back(17);lt.push_back(55);lt.push_back(32);listint lt1;lt1.push_back(11);lt1.push_back(3);lt1.push_back(100);lt.sort();lt1.sort();lt.merge(lt1); //将lt1合并到ltfor (auto e : lt){cout e ; //3 11 17 32 55 100}cout endl; }remove remove函数用于删除容器当中特定值的元素。 void test9_list() {int arr[] { 12,65,32,11,22,11,3 };listint mylist(arr, arr sizeof(arr) / sizeof(int));mylist.remove(11);for (auto e : mylist){cout e ; //12 65 32 22 3}cout endl; }remove_if remove_if函数用于删除容器当中满足条件的元素 bool single_digit(const int val) {return val 10; } void test11_list() {listint lt;lt.push_back(3);lt.push_back(2);lt.push_back(65);lt.push_back(33);lt.push_back(9);lt.push_back(5);lt.push_back(4);for (auto e : lt){cout e ;}cout endl; //3 2 65 33 9 5 4lt.remove_if(single_digit); //删除容器当中值小于10的元素for (auto e : lt){cout e ;}cout endl; //65 33 }unique unique函数用于删除容器当中连续的重复元素。 void test12_list() {listint lt;lt.push_back(2);lt.push_back(3);lt.push_back(3);lt.push_back(2);lt.push_back(1);lt.push_back(3);lt.push_back(3);for (auto e : lt){cout e ;}cout endl; //2 3 3 2 1 3 3lt.sort(); lt.unique(); //删除容器当中连续的重复元素for (auto e : lt){cout e ;}cout endl; //1 2 3 }assign assign函数用于将新内容分配给容器替换其当前内容新内容的赋予方式有两种 将n个值为val的数据分配给容器。将所给迭代器区间当中的内容分配给容器。 void test13_list() {listchar lt(3, s);lt.assign(4, a); //将新内容分配给容器替换其当前内容for (auto e : lt){cout e ; //a a a a}cout endl;string str(hello word);lt.assign(str.begin(), str.end()); //将新内容分配给容器替换其当前内容for (auto e : lt){cout e ; //h e l l o w o r d}cout endl; }swap void test14_list() {listint lt1(5, 2);listint lt2(2, 6);lt1.swap(lt2); //交换两个容器的内容for (auto e : lt1){cout e ;}cout endl; //6 6for (auto e : lt2){cout e ;}cout endl; //2 2 2 2 2 }
http://www.w-s-a.com/news/258755/

相关文章:

  • 购物网站 怎么做织梦网站会员功能
  • 北京市网站开发公司郑州联通网站备案
  • 温岭专业营销型网站建设地址wordpress小程序怎么不用认证审核
  • 网站建设主体设计要求微信公众号缴费
  • 网站建设的税率WordPress多用户建站
  • 专业门户网站的规划与建设网络培训
  • 东莞汽车总站停止营业crm管理系统在线使用
  • 深圳网站建设公司哪个网络优化是做什么的
  • 大连地区做网站自己怎么做电影网站
  • 成都APP,微网站开发手机要访问国外网站如何做
  • 网站app建设用discuz做的手机网站
  • vs 2008网站做安装包公众号登录超时
  • 银川做网站推广wordpress dux会员中心
  • 双辽做网站wordpress怎么写html代码
  • 建站公司哪家好 知道万维科技西安都有哪些公司
  • 设计网站官网入口佛山 品牌设计
  • 专用网站建设wordpress mega
  • 网站建设与优化推广方案内容网站整站下载带数据库后台的方法
  • 做网站PAAS系统外链是什么意思
  • 网页设计专业设计课程googleseo排名公司
  • 网站百度百科那些免费网站可以做国外贸易
  • 做视频的网站有哪些南京计算机培训机构哪个最好
  • ppt做视频 模板下载网站商业街网站建设方案
  • 佛山网站定制开发星光影视园网站建设案例
  • wordpress子站点商务网页设计与制作微课版答案
  • 山东省住房城乡和建设厅网站软件开发主要几个步骤
  • 可以接项目做的网站网站源码php
  • 杭州广众建设工程有限公司网站网页游戏人气排行榜
  • 上海网站开发建设最简单的网站代码
  • 东莞做网站建设免费网站建设案例