首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言兑现的mapreduce小程序

2012-06-27 
C语言实现的mapreduce小程序?#include stdio.htypedef int (*mapFunction)(int)typedef int (*reduceFu

C语言实现的mapreduce小程序

?

#include <stdio.h>typedef int (*mapFunction)(int);typedef int (*reduceFunction)(int,int);#define ERROR -1void map(mapFunction func, int *list, int len){int i;for(i=0; i<len; i++){list[i]=func(list[i]);}}int reduce(reduceFunction func, int *list, int len){if(len <= 0){return ERROR;}int retVal = 0;int i;for(i=0; i<len; i++){retVal=func(retVal, list[i]);}return retVal;}int square(int i){return i*i;}int add(int i, int j){return i+j;}int main(int argc, char* argv[]){int array[5];int i;for(i=0; i<5; i++){array[i]=i;}mapFunction mapFuncPointer = (mapFunction)&square;reduceFunction reduceFuncPointer = (reduceFunction)&add;map(mapFuncPointer, array, 5);int result = reduce(reduceFuncPointer, array, 5);printf("The result is %d\n", result);return 0;}

热点排行