首页 > 其他分享 >list的用法

list的用法

时间:2023-07-21 09:01:39浏览次数:48  
标签:cout list number 用法 number2 number3 it3

0. display函数

使用 泛型,定义打印函数。

 template <typename Container>
 void display(Container& con) {
     for (auto& elem : con) {
         cout << elem << " ";
     }
     cout << endl;
 }

1. 初始化

list<int> number = {1,2,3,4,5}; // { } 初始化
list<int> number2(10,5); // 10是count, 5是数值,声明10个5。
list<int> number3(number); //以number为源,初始化number3。
list<int> number4(number2.begin(), number2.end()); // 以两个迭代器位置创建。

2. splice 用法

将一list的部分或全部移动到另一list中。

// 将 number2 中内容 移到 number的 it 位置。
list<int> number = {1, 3, 9, 4};
list<int> number2 = {11, 33, 55};
cout << endl << "splice number2 to number." << endl;
list<int>::iterator it = number.begin();
++it;
number.splice(it, number2);
//将number3 中it3的内容移到 number的 it 位置。
 cout << endl << "splice from number3 it3 iterator index to number it." << endl;
 list<int> number3 = {100, 200, 300};
 list<int>::iterator it3 = number3.begin();
 it3++;
 it = number.begin();
 it++;
 number.splice(it, number3, it3);
 display(number);
 display(number3);
//将number3 中it2 到 it3的内容移到 number的 it 位置。
 cout << endl << "splice number3 fron it2 to it3 , to number it" << endl;
 auto it2 = number3.begin();
 it3 = number3.end();
 it3--;
 it = number.begin();
 it++;
 number.splice(it, number3, it2, it3);
 display(number);
 display(number3);
// splice number 自身, 容易出bug, 范围问题。
 cout << endl << "splice number self" << endl;
 auto it4 = number.begin();
 ++it4;
 ++it4;
 cout << "*it4 = " << *it4 << endl;

 auto it5 = number.begin();
 it5++;
 it5++;
 it5++;
 cout << "*it5 = " << *it5 << endl;
 number.splice(it4, number, it5);
 // number.splice(it4, number, it4, it5); // bug
 display(number);

标签:cout,list,number,用法,number2,number3,it3
From: https://www.cnblogs.com/zxinlog/p/17570277.html

相关文章

  • vector的用法
    1.打印函数12template<typenameContainer>13voiddisplay(Container&con){14for(auto&elem:con){15cout<<elem<<"";16}17cout<<endl;18}......
  • FCKEditor用法
    FCKeditor2.1.1在ASP.NET中的设置和使用(ZT)昨天抛弃了FreeTextBox1.6中文版,改用FCKeditor2.1.1。FCKeditor不仅加上了FLASH插入功能,而且它的兼容性超强:支持多种浏览器包括IE5.5+、Firefox1.0+、Mozilla1.3、Netscape7+;无平台限制,在Windows、Mac、Linux下都能运行;可以和......
  • redis map内嵌list 重启取值失败
    RedisMap内嵌List重启取值失败解决方案1.问题描述在使用Redis过程中,有时候需要将一个List嵌套在Map中,但是当Redis服务重启后,再次取值时会出现获取不到嵌套在Map中的List的情况。这个问题可能是由于Redis服务重启后,Map中的数据没有正确地进行数据序列化和反序列化导致的。2.......
  • pytorch使用(三)torch.zeros用法
    torch.zeros用法torch.zeros()是PyTorch中用来创建全0张量的函数。用法为torch.zeros(size,out=None,dtype=None,layout=torch.strided,device=None,requires_grad=False)。其中,size参数表示张量的形状(shape),可以是一个整数或者一个包含多个整数的tuple。例如,torch.......
  • pytorch使用(四)np.random.randint用法
    np.random.randint用法np.random.randint是numpy库中用于生成随机整数的函数。它的用法如下:numpy.random.randint(low,high=None,size=None,dtype='l')其中,各个参数的含义如下:low:生成的随机整数的下限(包含)。high:生成的随机整数的上限(不包含)。如果不提供high参数,则生......
  • C语言 typedef的用法示例讲解
    typedef是在C和C++编程语言中的一个关键字,作用是为现有的数据类型(int、float、char……)创建一个新的名字,目的是为了使代码方便阅读和理解。一、什么是typedeftypedef是在C和C++编程语言中的一个关键字。作用是为现有的数据类型(int、float、char……)创建一个新的名字,目的是为了......
  • Android ListView去掉点击动效
    AndroidListView去掉点击动效作为一名经验丰富的开发者,我很高兴能够教会你如何实现“AndroidListView去掉点击动效”。下面我将为您提供详细的步骤和相应的代码。步骤步骤操作1.创建一个自定义的ListViewSelector文件2.在ListView布局中应用自定义的Selector文......
  • EOF 的用法
    EOF适用范围:针对多组输入输出且数据没有固定数据量问题:采用while(scanf("%d",&n)!=EOF);EOF介绍:EOF全称EndOfFile(C语言标准函数库中表示文件结束符),通常在文本的最后,表示资料结束。C语言中数据都是以字符的ASCII码来存放的。ASCII码值范围是0~127,不可能......
  • 暑假对STL的学习用法
    mapmap<int,int>s;map<int,vector<int>>s;map<int,list<int>>s;这些就是map的初始化法子,前面那个就相当于数组下标,后面的就是键值了,可以用它搞二维数组就像第二三个一样。然后就是他的用处,他可以自动排序,但是是按照前面的key值排序,就是下标拉,不过看你怎么用这个东西,这......
  • C# 将一个list集合部分字段加入另一个集合 Select使用
    SubmitUserInfoRequestDtoresponseDto=newSubmitUserInfoRequestDto(){id=item.NodeId,name=item.NodeName};varuserList=SMZX_ApprovalMember.GetList(item.N......