c++accumulate(),partial_sum(),fill()函数

本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132264428

accumulate()

求和,传入 begin指针、end指针,首项

1
2
int a[5]={1, 2, 3, 4, 5}, b[5], c[5]; 
printf("%d\n", accumulate(a, a+5, 100));

在这里插入图片描述

100+1+2+3+4+5=115

partial_sum()

求前缀和,传入 begin指针,end指针,前缀和数组begin指针

1
2
3
int a[5]={1, 2, 3, 4, 5}, b[5], c[5]; 
partial_sum(a, a+5, b);
for(i=0; i<5; ++i) printf("%d ", b[i]);

在这里插入图片描述

1=1, 3=1+2, 6=1+2+3, 10=1+2+3+4,15=1+2+3+4+5

fill()

区间整体复制,传入 begin指针,end指针,赋的值

1
2
fill(c, c+5, 999); 
for(i=0; i<5; ++i) printf("%d ", c[i]);

在这里插入图片描述