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

网站如何做实名认证做抖音seo排名软件是否合法

网站如何做实名认证,做抖音seo排名软件是否合法,成都鲜花网站建设,政府网站互动平台的建设前言 1.list容器简单来说其实就是之前的链表结构。 2.这里的list用的是双向带头结点的循环链表。 目录 前言 一 构造函数 1.1 list (); 1.2 list (size_type n, const value_type& val value_type() ); 1.3 list (InputIterator first, InputIterator last…

前言

1.list容器简单来说其实就是之前的链表结构。

2.这里的list用的是双向带头结点的循环链表。

目录

前言

一  构造函数

1.1   list ();

1.2    list (size_type n, const value_type& val = value_type() );

1.3   list (InputIterator first, InputIterator last );

1.4   list (const list& x);

二  析构函数 

~list();

三  赋值运算符重载

list& operator= (const list& x);

 四  迭代器

 4.1  正向迭代器

4.2  反向迭代器

​ 五 容量函数

5.1  bool empty() const;

5.2  size_type size() const;

六  修改器

6.1  assign()

 6.2  插入数据和删除数据

5.insert ()

6.erase()

6.3  void resize (size_type n, value_type val = value_type());

6.4 void clear();

 七  操作

7.1  splice()

 7.2 unique()

总结


一  构造函数

1.1   list ();

括号里面是一个适配器。

 空容器构造函数(默认构造函数)

 构造一个没有元素的空容器。 

1.2    list (size_type n, const value_type& val = value_type() );

填充构造函数

构造一个包含n个元素的容器。每个元素都是val的一个副本。

1.3   list (InputIterator first, InputIterator last );

里面的InputIterator代表的是迭代器的类型。

范围构造函数

构造一个具有与范围[first,last)一样多元素的容器,其中每个元素都按照相同的顺序由该范围内的相应元素构造。

1.4   list (const list& x);

拷贝构造函数

按照相同顺序构造一个容器,其中包含x中每个元素的副本。

 测试案例:

#define _CRT_SECURE_NO_WARNINGS 1
// constructing lists
#include <iostream>
#include <list>
using namespace std;
int main()
{std::list<int> first;                                // 一个空列表std::list<int> second(4, 100);                       // 4个100的值std::list<int> third(second.begin(), second.end());  // 迭代器用second的值初始化thirdstd::list<int> fourth(third);                       // third的一个拷贝// 这里也可以用数组去迭代初始化int myints[] = { 16,2,77,29 };std::list<int> fifth(myints, myints + sizeof(myints) / sizeof(int));cout << "first:";for (std::list<int>::iterator it = first.begin(); it != first.end(); it++)std::cout << *it << ' ';cout << endl;cout << "second:";for (std::list<int>::iterator it = second.begin(); it != second.end(); it++)std::cout << *it << ' ';cout << endl;cout << "third:";for (std::list<int>::iterator it = third.begin(); it != third.end(); it++)std::cout << *it << ' ';cout << endl;cout << "fourth:";for (std::list<int>::iterator it = fourth.begin(); it != fourth.end(); it++)std::cout << *it << ' ';cout << endl;std::cout << "fifth: ";for (std::list<int>::iterator it = fifth.begin(); it != fifth.end(); it++)std::cout << *it << ' ';std::cout << '\n';return 0;
}

二  析构函数 

~list();

把所有容器元素都销毁,并且把分配器的空间释放。

三  赋值运算符重载

list& operator= (const list& x);

测试用例:

#define _CRT_SECURE_NO_WARNINGS 1
// assignment operator with lists
#include <iostream>
#include <list>
using namespace std;
int main()
{list<int> first(3);      // 初始化为3list<int> second(5);     // 初始化为5second = first;//赋值first = list<int>();//把一个匿名对象赋值给firstcout << "Size of first: " << int(first.size()) << endl;cout << "Size of second: " << int(second.size()) << endl;return 0;
}

​ 

 四  迭代器

迭代器分为正向迭代器和反向迭代器

 4.1  正向迭代器

iterator begin()   

iterator end()

测试用例

#define _CRT_SECURE_NO_WARNINGS 1
// list::begin
#include <iostream>
#include <list>
using namespace std;
int main()
{int myints[] = { 75,23,65,42,13 };list<int> mylist(myints, myints + 5);std::cout << "mylist contains:";for (list<int>::iterator it = mylist.begin(); it != mylist.end(); ++it)cout << ' ' << *it;cout <<endl;return 0;
}

4.2  反向迭代器

reverse_iterator rbegin();

reverse_iterator rend();

测试用例

#define _CRT_SECURE_NO_WARNINGS 1
// list::rbegin/rend
#include <iostream>
#include <list>
using namespace std;
int main()
{list<int> mylist;for (int i = 1; i <= 5; i++){mylist.push_back(i);}cout << "mylist backwards:";for (list<int>::reverse_iterator rit = mylist.rbegin(); rit != mylist.rend(); ++rit)cout << ' ' << *rit;cout << endl;return 0;
}

​ 
五 容量函数

5.1  bool empty() const;
// list::empty
#include <iostream>
#include <list>int main()
{std::list<int> mylist;int sum(0);for (int i = 1; i <= 10; ++i) mylist.push_back(i);while (!mylist.empty()){sum += mylist.front();mylist.pop_front();}std::cout << "total: " << sum << '\n';return 0;
}

为了方便测试,所以这里用了没有说明的函数。

5.2  size_type size() const;
// list::size
#include <iostream>
#include <list>int main()
{std::list<int> myints;std::cout << "0. size: " << myints.size() << '\n';for (int i = 0; i < 10; i++) myints.push_back(i);std::cout << "1. size: " << myints.size() << '\n';myints.insert(myints.begin(), 10, 100);std::cout << "2. size: " << myints.size() << '\n';myints.pop_back();std::cout << "3. size: " << myints.size() << '\n';return 0;
}

 

六  修改器

6.1  assign()

替换内容,并相应的修改大小

void assign (InputIterator first, InputIterator last);

void assign (size_type n, const value_type& val);

/ list::assign
#include <iostream>
#include <list>int main ()
{std::list<int> first;std::list<int> second;first.assign (7,100);                    //设置7个100的值second.assign (first.begin(),first.end());//用这7个值去替代second里面的内容int myints[]={1776,7,4};first.assign (myints,myints+3);            //用数组里面的内容去替代std::cout << "Size of first: " << int (first.size()) << '\n';std::cout << "Size of second: " << int (second.size()) << '\n';return 0;
}

 6.2  插入数据和删除数据

1.void push_front (const value_type& val);//头插

2.void pop_front();//头删

3.void push_back (const value_type& val);//尾插

4.void pop_back();//尾删

这些操作函数在上面的测试中都有演示


#include <iostream>
#include <list>int main()
{std::list<int> mylist;int sum(0);mylist.push_back(100);//尾插mylist.push_back(200);mylist.push_back(300);mylist.push_front(400);//头插mylist.pop_front();while (!mylist.empty()){sum += mylist.back();mylist.pop_back();//尾删}std::cout << "The elements of mylist summed " << sum << '\n';return 0;
}

5.insert ()

 iterator insert (iterator position, const value_type& val);//插入一个数据

void insert (iterator position, size_type n, const value_type& val);//插入n个数据

// inserting into a list
#include <iostream>
#include <list>
#include <vector>int main()
{std::list<int> mylist;std::list<int>::iterator it;for (int i = 1; i <= 5; ++i) mylist.push_back(i); // 1 2 3 4 5it = mylist.begin();++it;       mylist.insert(it, 10);                        // 1 10 2 3 4 5mylist.insert(it, 2, 20);                      // 1 10 20 20 2 3 4 5--it;       // it 指向第二个20            ^std::vector<int> myvector(2, 30);mylist.insert(it, myvector.begin(), myvector.end());// 1 10 20 30 30 20 2 3 4 5//               ^std::cout << "mylist contains:";for (it = mylist.begin(); it != mylist.end(); ++it)std::cout << ' ' << *it;std::cout << '\n';return 0;
}

 

6.erase()

iterator erase (iterator position);//删除一个数据

iterator erase (iterator first, iterator last);//删除迭代器区间的数据

// erasing from list
#include <iostream>
#include <list>int main()
{std::list<int> mylist;std::list<int>::iterator it1, it2;// set some values:for (int i = 1; i < 10; ++i) mylist.push_back(i * 10);// 10 20 30 40 50 60 70 80 90it1 = it2 = mylist.begin(); // ^^advance(it2, 6);            // ^                 ^++it1;                      //    ^              ^it1 = mylist.erase(it1);   // 10 30 40 50 60 70 80 90//    ^           ^it2 = mylist.erase(it2);   // 10 30 40 50 60 80 90//    ^           ^++it1;                      //       ^        ^--it2;                      //       ^     ^mylist.erase(it1, it2);     // 10 30 60 80 90//        ^std::cout << "mylist contains:";for (it1 = mylist.begin(); it1 != mylist.end(); ++it1)std::cout << ' ' << *it1;std::cout << '\n';return 0;
}

这里的advance起到一个推动迭代器的功能,

这里删除元素的时候需要用一个变量来接收是为了防止迭代器失效的问题。

6.3  void resize (size_type n, value_type val = value_type());

1.如果n<当前容量大小,那么会把容量缩到n,并且删除多余的元素

2.如果n>当前容量,会把容量扩到n,多余的元素会以val值来填充

// resizing list
#include <iostream>
#include <list>int main()
{std::list<int> mylist;// set some initial content:for (int i = 1; i < 10; ++i) mylist.push_back(i);mylist.resize(5);mylist.resize(8, 100);mylist.resize(12);std::cout << "mylist contains:";for (std::list<int>::iterator it = mylist.begin(); it != mylist.end(); ++it)std::cout << ' ' << *it;std::cout << '\n';return 0;
}

 

6.4 void clear();
// clearing lists
#include <iostream>
#include <list>int main()
{std::list<int> mylist;std::list<int>::iterator it;mylist.push_back(100);mylist.push_back(200);mylist.push_back(300);std::cout << "mylist contains:";for (it = mylist.begin(); it != mylist.end(); ++it)std::cout << ' ' << *it;std::cout << '\n';mylist.clear();//清除mylist.push_back(1101);mylist.push_back(2202);std::cout << "mylist contains:";for (it = mylist.begin(); it != mylist.end(); ++it)std::cout << ' ' << *it;std::cout << '\n';return 0;
}

 七  操作

7.1  splice()

移动后,原容器的元素会被删除掉

void splice (iterator pos, list& x);//将元素从x转移到容器中,并将它们插入到指定位置。

void splice (iterator pos, list& x, iterator i);//移动指定的元素

void splice (iterator pos, list& x, iterator first, iterator last);//移动迭代区间的元素到容器里面

// splicing lists
#include <iostream>
#include <list>int main()
{std::list<int> mylist1, mylist2;std::list<int>::iterator it;for (int i = 1; i <= 4; ++i)mylist1.push_back(i);      // mylist1: 1 2 3 4for (int i = 1; i <= 3; ++i)mylist2.push_back(i * 10);   // mylist2: 10 20 30it = mylist1.begin();++it;                         // points to 2mylist1.splice(it, mylist2); // mylist1: 1 10 20 30 2 3 4// mylist2 (empty)// it 依然指向2mylist2.splice(mylist2.begin(), mylist1, it);// mylist1: 1 10 20 30 3 4// mylist2: 2// it现在已经失效了it = mylist1.begin();//重新赋值std::advance(it, 3);           // it 指向30mylist1.splice(mylist1.begin(), mylist1, it, mylist1.end());// mylist1: 30 3 4 1 10 20std::cout << "mylist1 contains:";for (it = mylist1.begin(); it != mylist1.end(); ++it)std::cout << ' ' << *it;std::cout << '\n';std::cout << "mylist2 contains:";for (it = mylist2.begin(); it != mylist2.end(); ++it)std::cout << ' ' << *it;std::cout << '\n';return 0;
}

 7.2 unique()

相当于是一个去重的函数

void unique();

int main()
{std::list<int> mylist1;std::list<int>::iterator it;mylist1.push_back(1);mylist1.push_back(1);mylist1.push_back(2);mylist1.push_back(2);mylist1.push_back(4);mylist1.push_back(4);mylist1.push_back(5);for (it = mylist1.begin(); it != mylist1.end(); it++){std::cout <<" " << *it;}std::cout << '\n';mylist1.unique();for (it = mylist1.begin(); it != mylist1.end(); it++){std::cout << " " << *it;}return 0;
}

但是对于另外一种情况,可能不是很明显,比如如果队列不是有序的,那么去重的效果就会差一点 

所以这个并不能达到无忧无虑的状态,必要情况下需要自己排序

总结

以上就是list的全部内容了,可能还有一些函数没有说明,会放在list模拟实现里面说明,list和之前的vector的操作都是大差不差的,主要的区别在于底层的实现  🎉🎉


文章转载自:
http://fraudulent.nLkm.cn
http://mig.nLkm.cn
http://canaanitic.nLkm.cn
http://debunk.nLkm.cn
http://fungitoxicity.nLkm.cn
http://frictionize.nLkm.cn
http://biddability.nLkm.cn
http://tonsillotomy.nLkm.cn
http://befog.nLkm.cn
http://hyoscyamus.nLkm.cn
http://nearsighted.nLkm.cn
http://monoclonal.nLkm.cn
http://imprudence.nLkm.cn
http://posting.nLkm.cn
http://superintelligent.nLkm.cn
http://maleficence.nLkm.cn
http://nanoplankton.nLkm.cn
http://leukaemia.nLkm.cn
http://microcalorie.nLkm.cn
http://homolographic.nLkm.cn
http://langostino.nLkm.cn
http://prognostic.nLkm.cn
http://francolin.nLkm.cn
http://amphibology.nLkm.cn
http://rial.nLkm.cn
http://roofage.nLkm.cn
http://tehr.nLkm.cn
http://convolvulus.nLkm.cn
http://eisegetical.nLkm.cn
http://pathfinder.nLkm.cn
http://interruptive.nLkm.cn
http://dephlogisticate.nLkm.cn
http://stalagmometer.nLkm.cn
http://cacogenics.nLkm.cn
http://glycine.nLkm.cn
http://nyc.nLkm.cn
http://roominess.nLkm.cn
http://criticality.nLkm.cn
http://stormproof.nLkm.cn
http://colonel.nLkm.cn
http://hilding.nLkm.cn
http://mompei.nLkm.cn
http://osteopathic.nLkm.cn
http://dollishly.nLkm.cn
http://cobbly.nLkm.cn
http://advection.nLkm.cn
http://fugacious.nLkm.cn
http://adamsite.nLkm.cn
http://ballyhack.nLkm.cn
http://luxuriance.nLkm.cn
http://engage.nLkm.cn
http://newscaster.nLkm.cn
http://hydroxylamine.nLkm.cn
http://photoconductive.nLkm.cn
http://rhigolene.nLkm.cn
http://varicotomy.nLkm.cn
http://survival.nLkm.cn
http://elohim.nLkm.cn
http://flavomycin.nLkm.cn
http://foreroom.nLkm.cn
http://urgently.nLkm.cn
http://missouri.nLkm.cn
http://nicotinamide.nLkm.cn
http://remerge.nLkm.cn
http://unshrinking.nLkm.cn
http://crenulate.nLkm.cn
http://pliable.nLkm.cn
http://remind.nLkm.cn
http://cameralistic.nLkm.cn
http://hertz.nLkm.cn
http://indubitably.nLkm.cn
http://tara.nLkm.cn
http://rhomb.nLkm.cn
http://peptize.nLkm.cn
http://indigoid.nLkm.cn
http://dropt.nLkm.cn
http://harvestry.nLkm.cn
http://conservatoire.nLkm.cn
http://reflectingly.nLkm.cn
http://meprobamate.nLkm.cn
http://unconstitutional.nLkm.cn
http://whipray.nLkm.cn
http://psychodynamics.nLkm.cn
http://heelpost.nLkm.cn
http://tautomerize.nLkm.cn
http://oarweed.nLkm.cn
http://aberrated.nLkm.cn
http://encomiast.nLkm.cn
http://optical.nLkm.cn
http://tremolite.nLkm.cn
http://inapprehensible.nLkm.cn
http://nembie.nLkm.cn
http://forestation.nLkm.cn
http://queenship.nLkm.cn
http://suboffice.nLkm.cn
http://golan.nLkm.cn
http://tangential.nLkm.cn
http://aliquot.nLkm.cn
http://gamma.nLkm.cn
http://metaphone.nLkm.cn
http://www.hrbkazy.com/news/83444.html

相关文章:

  • 网站建设项目实践报告书爱链接
  • 山西太原建站哪家强朋友圈推广怎么收费
  • 精品课程网站建设的背景及意义windows优化大师有哪些功能
  • 网站建设集约化网络运营主要做什么工作
  • 小企业做网站企业seo顾问服务
  • 网站建设步骤详解网络快速排名优化方法
  • 毕业论文 网站开发搜索引擎名词解释
  • 微网站的优势线上怎么做推广和宣传
  • 网站用什么语言做会比较好seo北京
  • 网站 设计 文档2022年免费云服务器
  • 网站开发大学宁波网站推广优化公司电话
  • 自己做网站生意怎么样web网址
  • 官网怎么注册宁波seo的公司联系方式
  • 百度如何把网站做链接百度推广售后
  • 公司网站一般是怎么做百度权重是怎么来的
  • 谷歌官方网站注册上海推广网络营销咨询热线
  • 怎么做app网站ui原型企业品牌推广策划方案
  • 五莲网站建设公司seo问答
  • 深圳市测绘建设局网站青岛seo网站推广
  • 网站架构怎么做市场推广专员
  • 网站建设公司有多少关键词数据
  • 二级域名做很多网站百度登录页
  • 怎么做一网站首页今天疫情最新消息
  • 上海市网站建设公司582023年8月份新冠症状
  • 培训网站开发公司软文推广发布
  • wordpress 目录索引seo顾问公司
  • 品牌网站制作报价国家反诈中心app下载
  • 河南省建设培训中心网站优化营商环境的措施建议
  • 上海网站域名注册价格html网页制作步骤
  • 天津网站建设推广百度查重免费