延津县建设局网站,江门关键词按天优化,外贸软件app,武穴市网站两学一做泛型算法只是依赖于迭代器的操作#xff0c;而不是依赖于容器 泛型算法可以分为3大类#xff1a; 下面的vec和vec2代表相同类型的容器 1.只读算法#xff1a;只允许读取其输入范围内的元素#xff0c;而不改变元素 find(vec.cbegin(),vec.cend(),k) 查找算法#xff1a;前…泛型算法只是依赖于迭代器的操作而不是依赖于容器 泛型算法可以分为3大类 下面的vec和vec2代表相同类型的容器 1.只读算法只允许读取其输入范围内的元素而不改变元素 find(vec.cbegin(),vec.cend(),k) 查找算法前两个参数表示元素范围的迭代器第三个参数k表示要查找的元素查找成功则返回等于第一个元素的迭代器查找失败返回尾后指针 accumulate(vec.cbegin(),vec.cend(),0) 求和算法前两个参数表示元素范围的迭代器第三个参数表示和的初始值返回该类型的参数范围内的和可以为intstring等 equal(vec.cbegin(),vec.cend(),vec2.cbegin()) 比较算法将第一个范围内的元素和第二个序列中的元素比较如果对应元素都相等返回true否则返回false这里默认第二个序列的元素数第一个范围内的元素数 2.写容器元素算法将元素写入输入范围 fill(vec.cbegin(),vec.cend(),0) 表示迭代器范围内的值都被置为0假设vec存的是int型 fill_n(vec.begin(),vec.size(),0) 表示从指定迭代器 vec.begin() 开始以后的vec.size()个元素的值都被置为0假设vec存的是int型 注上面的写算法不允许在空容器上调用即容器中有几个元素写算法才能写几个元素只能修改不能添加如果想要添加只能使用插入迭代器下篇会介绍 copy(vec.cbegin(),vec.cend(),vec2.cbegin())拷贝算法将迭代器范围内的元素拷贝到vec2容器中这里默认第二个容器的空间能够存储该迭代器范围内的元素 replace(vec.cbegin(),vec.cend(),before,after) 替换算法将容器迭代器范围内的元素中 所有为before的元素替换为after的元素before和after分别为存储类型的具体数值 replace_copy(vec.cbegin(),vec.cend(),back_inserter(vec2),before,after) 替换算法将容器迭代器范围内的元素中 所有为before的元素替换为after的元素并插入到vec2中before和after分别为存储类型的具体数值 3.重排容器元素算法 sort(vec.cbegin(),vec.cend()) 排序算法将迭代器范围内的元素按照定义的“”来进行排序 unique(vec.cbegin(),vec.cend()) 排序算法将迭代器范围内的元素按照unique的标准库算法进行排序使得不重复的元素出现在开始的位置并且返回一个指向最后一个不重复元素之后的迭代器 注要真正删除容器中的元素必须使用容器操作泛型算法只是依赖于迭代器的向容器中插入元素可以不必使用容器操作可以使用插入迭代器操作。转载于:https://www.cnblogs.com/runninglzw/p/4751220.html