VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 738|回复: 3

简单题。STL的list如何定位到一个指定位置的元素?

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-31 09:00:02 | 显示全部楼层 |阅读模式
例如我想获得在list中从begin开始的第7个元素,这个怎么获得?
请举例!
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-23 12:15:01 | 显示全部楼层
typedef yourtype ltype;
std::list<ltype> yourlist;
typedef std::list<ltype>::iterator pos = yourlist.begin();
for (unsigned int i = 0; pos != yourlist.end(); pos++)
{
  i++;
  if (i == 7)
    break;
}
if (i == 7)
  ltype lt = *pos;

其中yourtype是你在list中的类型
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-23 14:15:01 | 显示全部楼层
至于yourlist是你的list变量
回复

使用道具 举报

0

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-3-26 19:15:02 | 显示全部楼层
指定位置可以直接用叠代器++
for(it=mylist.begin(),i=0;it!=mylist.end();it++,i++)
{
    if(i>6)
        break;
}
if(i==7)
{...} //found
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表