c++学习心得:STL初学(基础篇)

标准函数库(STL)学习心得(基础篇)

STL主要由两种组件构成:一是容器,包括vector、list、set、map等类;另一种组件是用以操作这些容器的所谓的泛型算法包括find()、sort()等。
容器又分为两种:
1、顺序型容器:vector和list,顺序型容器会依次遍历第一个、第二个、·········、直到最后一个元素,我们在顺序型容器主要进行迭代(iterate)操作
2、关联容器:map、set,关联容器更容易帮助我们快速查找容器中的元素值。map是一对key/value组合,key用于查找,value用来表示我们要储存或取出的数据。而set仅含有key,我们对它进行查询操作为的是判断一个值是否存在其中。
另一种为泛型算法:
泛型算法提供了许多可作用于容器类以及数组类型上的操作。所谓泛型,就是与被操作的元素的类型无关(不用关心元素的类型是int、double还是string),它们同样与容器类独立(不论是vector、list还是array)。
泛型算法借助一对iterator(first和last),标识我们要进行的迭代的范围,如果first=last,算法只作用于first所指元素,如果first不等于last,指针便首先作用于first所指元素,并将first递增,再将frist和last比较相等,如此持续下去,知道first等于last。

现在需要进行下面工作。给定一个储存整数的vector,以及一个整数值。如果此值存在于vector内,返回一个指针指向该值,否则返回0,表示此值不在vector内

int *find(vector &ivec,int value)
{
  for(int i=0;i

现在需要这个函数能够处理所有类型,前提该类型有定义的相等运算符

template
T *find(vector &tvec,T value)
{
    for(int i=0;i

你可能感兴趣的:(c++)