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

微网站建设公司首选公司一款可做引流的网站源码

微网站建设公司首选公司,一款可做引流的网站源码,主动营销的方式有哪些,ci wordpress cmscList详细使用 write in front 作者#xff1a; 不进大厂不改名 专栏#xff1a; c 作者简介#xff1a;大一学生 希望能向其他大佬和同学学习#xff01; 本篇博客简介#xff1a;本文主要讲述了一种新容器list的使用方法#xff0c;相信你在学了后#xff0c;能够加深…cList详细使用 write in front 作者 不进大厂不改名 专栏 c 作者简介大一学生 希望能向其他大佬和同学学习 本篇博客简介本文主要讲述了一种新容器list的使用方法相信你在学了后能够加深对STL的理解。 本章目标 1.List的介绍 2.迭代器的使用 3.list的元素获取 4.list容量相关 5.list的操作函数 6.总结 c中List的详细介绍cList详细使用1.List的介绍2.迭代器的使用3.list的元素获取4.list容量相关5.list的操作函数6.总结1.List的介绍 List介绍 1.list是可以在是可以在常数范围内在任意位置插入和删除的序列式容器并且该容器可以前后双向迭代。 这时候同学们可能会有疑惑这看上去和我们以前学的双向链表十分相似是吧。 2.list的底层式双向链表结构双向链表中每个元素储存在互不相关的独立节点中在节点中通过指针指向前一个元素和后一个元素。 3.list和forward_list非常相似最主要的不同在于forward_list是单链表只能超前迭代让其更简单高效。 4.与其他的序列式的容器相比arry,vector,deque,list通常在任意位置进行插入、移除元素的执行效率更好。 这个也就是双链表的优点了。 5.与其他序列式容器相比list和forward_list最大的缺陷就是不支持任意位置的随机访问比如要访问list的第6个元素必须从已知的位置一般式头部或者尾部迭代到该位置在这段位置上迭代需要线性的时间开销list还需要一些额外的空间以保存每个节点的相关联信息对于储存类型较小元素的大list来说可能是一个重要的因素 这也就是双链表的缺点 List的使用方式 List的定义方式 方式一构造一个某类型的空容器 listint a1;//构造int类型的空容器方式二构造一个由n个val的值 listint a2(10,2);方式三拷贝构造其他容器的复制品 listint a3(a2);方式四使用迭代器拷贝某一段内容 string s1hello world; listchar a4(s1.begin(),s1.end())方式五构造数组某段区间的复制品 int arr[5]{1,2,3,4,5}; listint a5(arr,arr5);省流上面四种方式和vector的构造一模一样只是list里面多了一点,list可以用数组初始化。 List的插入和删除 头插和头删 push_front和 pop_front void test1() {listint a1;a1.push_front(1);a1.push_front(2);a1.push_front(3);a1.push_front(4);a1.push_front(5);a1.push_front(6);for (auto x : a1){cout x ;}a1.pop_front();a1.pop_front();a1.pop_front();a1.pop_front();cout endl;for (auto x: a1){cout x ;} }尾插和尾删 void test2() {listint a1;a1.push_back(1);a1.push_back(2);a1.push_back(3);a1.push_back(4);a1.push_back(5);a1.push_back(6);for (auto x : a1){cout x ;}cout endl;a1.pop_back();a1.pop_back();a1.pop_back();for (auto x : a1){cout x ;} }insert 有三种插入方式 方式一在指定位置插入一个值 void test7() {listint a;a.push_back(1);a.push_back(2);a.push_back(3);a.push_back(4);a.push_back(5);a.insert(a.end(),50);for (auto x : a){cout x ;} }方式二在指定迭代器位置插入n个val void test7() {listint a;a.push_back(1);a.push_back(2);a.push_back(3);a.push_back(4);a.push_back(5);a.insert(a.end(),5,10);for (auto x : a){cout x ;} }方式三在指定迭代器位置插入一段代码左闭右开 void test7() {listint a;a.push_back(1);a.push_back(2);a.push_back(3);a.push_back(4);a.push_back(5);a.insert(a.end(),a.begin(),a.end());for (auto x : a){cout x ;} }erase支持两种删除方式 方式一删除指定迭代器的位置 void test7() {listint a;a.push_back(1);a.push_back(2);a.push_back(3);a.push_back(4);a.push_back(5);a.erase(a.begin());for (auto x : a){cout x ;} }方式二删除某个迭代器区间 void test7() {listint a;a.push_back(1);a.push_back(2);a.push_back(3);a.push_back(4);a.push_back(5);a.erase(a.begin(),a.end());for (auto x : a){cout x ;} }2.迭代器的使用 begin和end void test3() {listint a1;a1.push_back(1);a1.push_back(2);a1.push_back(3);a1.push_back(4);a1.push_back(5);a1.push_back(6);listint::iterator it a1.begin();while (it ! a1.end()){cout *it ;it;} }rbegin和rend void test4() {listint a1;a1.push_back(1);a1.push_back(2);a1.push_back(3);a1.push_back(4);a1.push_back(5);a1.push_back(6);listint::reverse_iterator it a1.rbegin();while (it ! a1.rend()){cout *it ;it;} }3.list的元素获取 front和back front函数用于获取list容器当中的第一个元素back函数用于获取list容器中的最后一个元素。 void test5() {listint a;a.push_back(1);a.push_back(2);a.push_back(3);a.push_back(4);a.push_back(5);a.push_back(6);cout a.front() a.back() endl; }4.list容量相关 size可以直接获取容量的大小 void test5() {listint a;a.push_back(1);a.push_back(2);a.push_back(3);a.push_back(4);a.push_back(5);a.push_back(6);cout a.size(); }resize resize两个参数一个是你要重新赋值的大小一个是你要重新赋值的默认值 使用规则 1.如果被重新赋值的值小于本来的大小那么size就缩小到此值 2.如果重新赋值的值大于本来的大小那么就将szie扩大到该值并且把我们默认值赋予它。 void test6() {listint a;a.push_back(1);a.push_back(2);a.push_back(3);a.push_back(4);a.push_back(5);a.push_back(6);a.resize(4, 6);for (auto x : a){cout x ;}cout endl;a.resize(9, 6);for (auto x : a){cout x ;} }empyt和clear 1.clear清空list 1.empty判断是否为空 void test6() {listint a;a.push_back(1);a.push_back(2);a.push_back(3);a.push_back(4);a.push_back(5);a.push_back(6);a.resize(4, 6);cout a.empty()endl;a.clear();cout a.empty()endl; }5.list的操作函数 sort 顾名思义就是排序 void test6() {listint a;a.push_back(5);a.push_back(6);a.push_back(3);a.push_back(8);a.push_back(2);a.push_back(4);for (auto x : a){cout x ;}a.sort();cout endl;for (auto x : a){cout x ;}}splice splice的使用发法有三种 方式一将一个list拼接到另一个指定迭代器位置。 void test6() {listint a;listint a1(5,6);a.push_back(5);a.push_back(6);a.push_back(3);a.push_back(8);a.push_back(2);a.push_back(4);a.splice(a.begin(), a1);for (auto x : a){cout x ;}}方式二将容器当中的某一个数据拼接到另一个容器的指定迭代器的位置。 void test6() {listint a;listint a1(5,6);a.push_back(5);a.push_back(6);a.push_back(3);a.push_back(8);a.push_back(2);a.push_back(4);a.splice(a.begin(), a1,a1.begin());for (auto x : a){cout x ;}}方式三将容器指定指定迭代器区间的数据拼接到另一个容器的指定迭代器位置。 void test6() {listint a;listint a1(5,6);a.push_back(5);a.push_back(6);a.push_back(3);a.push_back(8);a.push_back(2);a.push_back(4);a.splice(a.begin(), a1,a1.begin(),a1.end());for (auto x : a){cout x ;}}remove 参数只有一个给定一个值删除list中所有这个值 void test6() {listint a;listint a1(5,6);a.push_back(5);a.push_back(6);a.push_back(3);a.push_back(8);a.push_back(2);a.push_back(4);a.splice(a.begin(), a1,a1.begin(),a1.end());a.remove(6);for (auto x : a){cout x ;} }remove_if 给定一个条件如果符合条件就删除 void test6() {listint a;listint a1(5,6);a.push_back(5);a.push_back(6);a.push_back(3);a.push_back(8);a.push_back(2);a.push_back(4);a.splice(a.begin(),a1,a1.begin(),a1.end());for (auto x : a){cout x ;}cout endl;a.remove_if(single_digit);for (auto x : a){cout x ;}}unique 去除连续的重复值 void test6() {listint a;listint a1(5,6);a.push_back(5);a.push_back(6);a.push_back(3);a.push_back(8);a.push_back(2);a.push_back(4);a.splice(a.begin(),a1,a1.begin(),a1.end());for (auto x : a){cout x ;}cout endl;a.unique();for (auto x : a){cout x ;}}注意了我们并不是去重而是删除连续重复的值 如果我们想要去重应该怎么办呢 就是先排序再去除连续的重复值 void test6() {listint a;listint a1(5,6);a.push_back(5);a.push_back(6);a.push_back(3);a.push_back(8);a.push_back(2);a.push_back(4);a.push_back(4);a.push_back(4);a.splice(a.begin(),a1,a1.begin(),a1.end());for (auto x : a){cout x ;}cout endl;a.sort();a.unique();for (auto x : a){cout x ;} }merge 归并并进行排序 使得两个list合并到一个当中并且使他们有序 注意 一定要提前对两个list进行排序 不然会报错 void test6() {listint a;listint a1(3,6);a.push_back(5);a.push_back(6);a.push_back(3);a.push_back(8);a.push_back(2);a.push_back(4);a.push_back(4);a.push_back(4);a1.push_back(56);a1.push_back(34);a1.push_back(34);a1.push_back(28);a.sort();a1.sort();a.merge(a1);for (auto x : a){cout x ;} }reverse 这个很简单就是字面意思逆序 void test6() {listint a;listint a1(3,6);a.push_back(5);a.push_back(6);a.push_back(3);a.push_back(8);a.push_back(2);a.push_back(4);a.push_back(4);a.push_back(4);a1.push_back(56);a1.push_back(34);a1.push_back(34);a1.push_back(28);a.sort();a1.sort();a.merge(a1);a.reverse();for (auto x : a){cout x ;} }assign 这个函数有两个用法 方式一重新赋予n个val值 void test7() {listchar a(4, a);a.assign(3, b);for (auto x : a){cout x ;} }方式二使用迭代器赋值 void test7() {listchar a(4, a);string s(hello);a.assign(s.begin(), s.end());for (auto x : a){cout x ;} }swap 交换两个容器的内容 void test7() {listchar a(20, a);listchar b(10, b);a.swap(b);for (auto x : a){cout x ;} }6.总结 本文主要讲了list的一些函数的使用大家是不是发现和前面两个的容器差不多但是相对于它们多出一些函数我们主要记住这些多出的函数就行,本张就到此结束希望观众老爷们留下你的三连加关注谢谢
http://www.hkea.cn/news/14523310/

相关文章:

  • 注册网站步骤成都建设局官方网站
  • 做网站怎么返回首页wordpress在线阅读主题
  • 企业网站导航设计重庆网站建设方案书
  • 服务器网站管理助手中国联合网络通信有限公司
  • 俄语网站建站公司网站主页模板
  • 网站开发谢辞上海一网通办官网
  • 石家庄校园兼职网站建设洪湖网站建设
  • 选择网站做友情链接的标准一般是创业做app哪个网站好
  • 网站营销软文注册百度账号免费
  • 网站索引量高端品牌衣服排行榜前十名
  • 仿淘宝商城网站开源系统精密科技东莞网站建设
  • 有了域名和主机怎么做网站百度教育官网登录入口
  • 长沙 网站设计 公司价格个人网站要不要备案
  • 酒店类网站开发策略陕西渭南富平建设局网站
  • 做招聘网站毕业设计学习html5的网站
  • 网站制作一般要几天简单asp网站源码
  • 个人做电影网站有什么风险企业logo设计创意
  • 做网站都可以做什么深圳h5网站建设
  • 建设网站需要用到哪些软件产品如何做网站推广
  • 网站怎么做mip技术wordpress导出导入
  • 汉中专业网站建设公司本地wordpress后台很慢
  • 网站收录提交入口遵化手机网站设计
  • 深圳专业网站设计公司哪家好网络营销题库及答案2020
  • 中美网站建设差异房产网南京
  • 微网站建设方向重庆做网站及优化报价
  • 自己做的网站怎么放图片酒仙网技术开发与网站建设方面
  • wordpress新闻站主题地方门户网站源码下载
  • 新吴区网站建设wordpress搬家_后台错乱
  • 快递网站推广怎么做网站模版配置数据库
  • 如何给网站划分栏目网站设计用什么字体