C++list类中的数据怎么查找

作者&投稿:少童 (若有异议请与网页底部的电邮联系)
C++标准list类有没有查找功能~

没有。可以使用里面的find()模版函数进行查找

list :: Iterator it;
for(it=arr.begin();it!=arr.end();it++){
cout<<*it<<" ";
}

1、可以直接用标准模板库提供的find函数或者find_if函数查找。输出的话可以用for_each函数。

2、例程:

list<int> mylist;
    mylist.push_back( 1 );
    mylist.push_back( 11 );
    mylist.push_back( 111 );
    mylist.push_back( 1111 );
    int a = 111;
    list<int>::iterator it = find( mylist.begin(), mylist.end(), a ); //查找
    if ( it != mylist.end() )
        cout << a << " is in the list" << endl;
    for ( it = mylist.begin(); it != mylist.end(); ++it ) //输出
    {
        cout << *it << "";
    } 
    cout << endl;
    copy(mylist.begin(), mylist.end(), ostream_iterator<int> (cout, "")); //或者这样输出
    cout << endl;


可以直接用标准模板库提供的find函数或者find_if函数查找。
输出的话可以用for_each函数。
可以参考 http://www.cplusplus.com/reference/algorithm/

list<int> mylist;
mylist.push_back( 1 );
mylist.push_back( 11 );
mylist.push_back( 111 );
mylist.push_back( 1111 );

int a = 111;
list<int>::iterator it = find( mylist.begin(), mylist.end(), a ); //查找
if ( it != mylist.end() )
cout << a << " is in the list" << endl;

for ( it = mylist.begin(); it != mylist.end(); ++it ) //输出
{
cout << *it << "\t";
}

cout << endl;
copy(mylist.begin(), mylist.end(), ostream_iterator<int> (cout, "\t")); //或者这样输出
cout << endl;


C#的问题,怎么在List集合中筛选数据?
使用List<T>获取数据库表的时候,每次用户操作都重新访问数据库,然后返回List<T>,会严重影响程序运行效率的方式,其实List<T>自带有筛选的方法,把想要的数据筛选到另一个List<T>中,不用重新访问数据库,直接筛选后绑定控件显示即可。示例如下:publicNumberModelcurrentmark;publicMainFrmmainFrm;...

JAVA list中如何将类型为子类的list引用赋值给类型为父类的list...
List<Animal>和List<Dog>不是一个类型,也不是继承关系。这里的泛型应该写作 List<? extends Animal> list = new ArrayList<Dog> ();

Robot Framework之list用法及元素获取
length,如下图所示:☆ 二维list是指list里包含list类型的元素。假设 j 和 k 分别是某个元素的一维二维索引,则用 ${变量名[j][k]} 或 @{变量名[j]}[k] 访问。 ☆ 区别是用 $ 作为标识符的列表还是把索引都放在{}里面,用 @ 作为标识符的列表把索引一个放在{}里面,一个放外面。

java中List类型的参数传递
在java中虽然没有指针的概念,但是对象其实都是地址引用的。所以你在方法内部操作对象的时候,值会反应到它的内存地址中。所以在方法外就会取到它这个对象中的值。

.NET中的List类和ArrayList类有何区别?
一楼说的是Java吧,在.NET中,ArrayList和List都是集合。区别:1、ArrayList在System.Collections命名空间中 List在System.Collections.Generic命名空间中。2、ArrayList不可以加泛型。List必须加泛型。用List的时候必须加泛型,那么就限定了List的使用范围。也就是说List中加入的元素必须是相同类型的,或者是...

Python中内置数据类型list,tuple,dict,set的区别和用法
这篇文章主要给大家介绍了Python中内置数据类型list,tuple,dict,set的区别和用法,都是非常基础的知识,十分的细致全面,有需要的小伙伴可以参考下。Python语言简洁明了,可以用较少的代码实现同样的功能。这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set。这里对他们进行一个简明的总结。List...

如何判断List<String>list中是否包含某个字符串
直接使用 java.util.List.contains(Object) 方法。public static void main(String[] args) ,List<Integer> testlist = new ArrayList<Integer>();testlist.add(1);testlist.add(2);testlist.add(3);boolean result = testlist.contains(1);\/\/结果为true }。可以用for循环,进行循环遍历进行...

JAVA中的List、Vector、ArrayList的差异
Java 中Vector、ArrayList和LinkedList 的区别Java 中Vector、ArrayList和LinkedList 的区别SDK提供了有序集合接口java.util.List的几种实现,其中三种最为人们熟知的是Vector、ArrayList和LinkedList。有关这些List类的性能差别是一个经常被问及的问题。在这篇文章中,我要探讨的就是LinkedList和Vector\/ArrayList...

CList类是作什么用的?
这样,IntList类中的Buffer就是一个长度为100的整型数组, SetItem和GetItem函数参数是int值的引用。例: IntList.SetItem(0, 5); \/\/给数组第一个元素赋为整数5 模板类还可以像其他类一样可以定义构造函数和析构函数。下面我们以一种简单 的数据结构——堆栈为例,来说明如何用类模板来构造通用数据结构。 二、 ...

R的List类型的结果怎么导出到文件中
你要自己把list中的元素处理成text;然后用write(),指定file参数;貌似cat()也可以..

芝罘区18541301435: C++list类中的数据怎么查找 -
丹达棓丙: 1、可以直接用标准模板库提供的find函数或者find_if函数查找.输出的话可以用for_each函数.2、例程:list<int> mylist; mylist.push_back( 1 ); mylist.push_back( 11 ); mylist.push_back( 111 ); mylist.push_back( 1111 ); int a = 111; list<int>::iterator ...

芝罘区18541301435: c++list怎么查找数据啊? -
丹达棓丙: list:: Iterator it; for(it=arr.begin();it!=arr.end();it++){ cout<<*it<<" "; }

芝罘区18541301435: C++标准list类有没有查找功能 -
丹达棓丙: list没有查找功能,可以用标准库的find

芝罘区18541301435: 如何快速从list中查找一条数据 -
丹达棓丙: 比如,你可以从中间的某个位置开始找,未必要从头开始找啊. 第二个思路,你可以把list 放进hashtable,hashtable查找的效率要比从头找要高. 还有,我个人感觉那个list的get(index),就是从头找的吧 hashtable的查找代码 public virtual bool ...

芝罘区18541301435: 如何得到C++中的list的某个元素值? -
丹达棓丙: 方法: list<a> b ; list<a>::iterator it; for ( it=b.begin() ; it != b.end(); it++ ) { a temp = *it; //依次取list里面的值到temp中 }

芝罘区18541301435: C++如何遍历 listcontrol第一列 找到某个字符 比如说ad -
丹达棓丙: ListControl第一列的编号为0,先要找到这个ListControl有几个Item,可以用ListControl的成员函数CListCtrl::GetItemCount 获取,然后用CListCtrl::GetItemText 挨个搜索.如果要改进遍历算法的话,要先知道你数据的一些特点.也可以先排序后搜索,这样就可以优化你的搜索算法了.函数的具体参数,请查看MSDN,有时候比我们乱讲的清楚多了.

芝罘区18541301435: c++ 怎么取list中特定的一块区域的值,比如list中有100条记录,我想直接取20 - 50的记录怎么取?新人求大神. -
丹达棓丙: list是没有随机迭代器的,所以只能通过逐个便利,数到第20-50个去操作 或者也很简单,用标准库的Vector,用list构造一个vector,然后直接取相应范围的值,这样比较耗资源 下面来给你示范一下如何取list#define list<type>::iterator iterType; int i = 1; for(iterType it = list.begin(); it != list.end(); ++it, ++i) { if(i >= 20 && i <= 50) { // to do } }

芝罘区18541301435: [c++]list的使用 -
丹达棓丙: STL中 end()指向的总是无效值,取值都用迭代器,用法跟指针差不多.如果要取第一个元素,可以用 begin(), 他返回的也是一个迭代器 例如这个例子(取自www.cplusplus.com):#include #include using namespace std; int main () { int ...

芝罘区18541301435: C++ list能不能从后面开始查找 -
丹达棓丙: 可以.利用list的rbegin()和rend()指定访问

芝罘区18541301435: 如何提高list查找效率,10万数据用一个list存,查询快,还是用多个list存,查询快 -
丹达棓丙: 如果用唯一标示来访问,则是用hashMap最快.如果需要遍历,或者根据某一个数据进行查找,则排序过后的list查找比较快

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网