transform 函数测试

#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
using namespace std;

// 自定义泛函数
template <class T>
void PRINT_ELEMENTS(const T& coll, const char * str="")
{
    typename T::const_iterator pos;

    cout<<str<<endl;
    for(pos = coll.begin(); pos != coll.end(); ++pos)
    {
        cout<<*pos<<" ";
    }
    cout<<endl;
}

// 以函数作为算法的参数
int square(int data)
{
    return data*data;
}

int main(int argc, char** argv)
{
    vector<int> coll;

    set<int> IntSet;
    for(int i=1; i<11; ++i)
    {
        IntSet.insert(i);
    }
    PRINT_ELEMENTS(IntSet, "Set original data:");

    std::transform(IntSet.begin(), IntSet.end(), // source 源地址
                                std::back_inserter(coll), // destination 目标地址
                                square); // 以函数作为算法的参数
    PRINT_ELEMENTS(coll, "after square:");

    return 0;
}

结果输出:

Set original data:
1 2 3 4 5 6 7 8 9 10
after square:
1 4 9 16 25 36 49 64 81 100

时间: 2024-08-26 10:40:46

transform 函数测试的相关文章

sklearn中各算法类的fit,fit_transform和transform函数

在使用PCA和NFC中有三个函数fit,fit_transform,transform区分不清各自的功能.通过测试,勉强了解各自的不同,在这里做一些笔记. 1.fit_transform是fit和transform的混合,相当于先调用fit再调用transform. 2.transform函数必须在fit函数之后调用否则会报错 3.fit_transform返回的是降维之后的结果,而且是对列压缩的 4.fit函数返回的是算法类,但是其成员变量components_是有数据的,而且似乎也是执行算法

I/O多路复用---epoll函数测试

参考文章来源: epoll使用详解(精髓) Epoll学习笔记 epoll是直到Linux2.6才出现了由内核直接支持的实现方法,那就是epoll,它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法. epoll可以同时支持水平触发和边缘触发(Edge Triggered,只告诉进程哪些文件描述符刚刚变为就绪状态,它只说一遍,如果我们没有采取行动,那么它将不会再次告知,这种方式称为边缘触发),理论上边缘触发的性能要更高一些,但是代码实现相当复杂. epol

经典笔试题:用C写一个函数测试当前机器大小端模式

“用C语言写一个函数测试当前机器的大小端模式”是一个经典的笔试题,如下使用两种方式进行解答: 1. 用union来测试机器的大小端 1 #include <stdio.h> 2 3 union test 4 { 5 int a; 6 char b; 7 }; 8 9 int endian_test(void) 10 { 11 union test t1; 12 t1.a = 1; 13 return t1.b; 14 } 15 16 int main(void) 17 { 18 int i =

hive transform函数介绍

hive 提供了通过脚本定制 mapper 和 reducer 的功能,这一功能需要用到 transform 函数. 默认情况下, transform 函数中带入的参数会被用 '\t 分隔开,并且以字符串对方式传入到用户脚本中.输入中 NULL 值会被转换成字符串 '\N'.脚本的输出使用的分隔符也是 '\t',同时 '\N' 会再次被转化为 NULL.需要注意的是,当 transform 当参数中含有 '\t' 的时候,用户需要手动处理这些 '\t' 以免脚本里面出错.这里是一个使用样例: F

c++中transform()函数和find()函数的使用方法。

1.transform函数的使用 transform在指定的范围内应用于给定的操作,并将结果存储在指定的另一个范围内.transform函数包含在<algorithm>头文件中. 以下是std::transform的两个声明, 一元操作: template <class InputIterator, class OutputIterator, class UnaryOperation> OutputIterator transform (InputIterator first1,

transform函数

摘自:http://blog.sina.com.cn/s/blog_8ec0965801012szd.html transform(first,last,result,op);//first是容器的首迭代器,last为容器的末迭代器,result为存放结果的容器,op为要进行操作的一元函数对象或sturct.class. transform(first1,last1,first2,result,binary_op);//first1是第一个容器的首迭代器,last1为第一个容器的末迭代器,fir

【Python装饰者】在函数测试的作用

[引言] 我们经常需要多函数进行耗时测试,测试方法有许多,这里介绍装饰者的方法,提高耗时测试代码的可复用性,在其他方面的应用也是如此. [设计原则] 类应该对扩展开放,对修改关闭. [代码] (1)定义装饰者具体方法 #encoding: UTF-8 ''' Created on 2016??12??7?? @filename: test.py @author: YYH ''' import time from functools import wraps class TimeRecorder:

函数测试

这里以体育竞技模拟程序内涵数为例 原完整代码 1 # -*- coding: utf-8 -*- 2 """ 3 Created on Wed May 15 11:38:02 2019 4 5 @author: lenovo 6 """ 7 8 import random 9 import math 10 def printIntro(): 11 print("这个程序模拟量个选手A和B的乒乓球比赛") 12 print(&q

夺命雷公狗C/C++-----9---自定义一个函数测试简单的运算

温馨提示:c/c++中的变量在同一个作用域内不可以从名. 我们在成程序的时候最好将原理图给弄明白,不然很难写的,如下图所示: 在这个图像中我们可以很清新的看得到,test.cpp里面的main里面进行总的控制, test2.c自定义一个  add 的函数让他进行整型进行运算.. 首先我们在头文件创建一个test.h  我们在里面定义好我们的 int a  和 int  b  分别是多少,如下图所示: 然后我们写 写一个test.cpp,将结构搭建起来再说,如下所示: 然后我们开始写   test