六、STL的数值计算---数组(向量)运算---mask_array类
2017-08-17 16:13
274 查看
4.类mask_array
valarray类提供了一种描述子集的方式: 屏蔽子集。valarray类经过“屏蔽”处理后,返回结果为
valarray<bool>型
将“屏蔽”作为下标,值为true的位表明了对应的valarray数组中的元素将作为结果的一部分。
和slice_array一样,mask_array不能有程序开发者构造和复制。
屏蔽的valarray的元素的个数不能多于valarray的元素个数。
【mask_array就是使用布尔表达式来屏蔽相应元素的结果。】
例子:
//----------------------省略----------------- valarray<int> val_1 = { 1, 2, 3, 4, 5, 6, 7 ,8,9}; bool b[] = {0,1,0,1,0,1,1}; valarray<bool> ms(b,7);//屏蔽 //bool值数对应,ms和val_1一一对应,0屏蔽,1选择 //2,4,6,7对应位置为1,不屏蔽 valarray<int> val_2 = val_1[ms]; //bool表达式,大于5的值 valarray<int> val_3 = val_1[val_1 > 5]; //----------------------省略-----------------
输出结果为:
val_2: 2 4 6 7 val_3: 6 7 8 9
相关文章推荐
- 4000 六、STL的数值计算---数组(向量)运算---indirect_array类
- 六、STL的数值计算---数组(向量)运算---gslice类和gslice_array类模板
- 六、STL的数值计算---向量(数组)运算--valarray类
- 六、STL的数值计算---数组(向量)运算---数组子集类-slice类和slice_array类模板
- Python 数值计算 —— 向量、矩阵和多维数组
- 六、STL的数值计算---复数运算
- 精度小于int的数值运算的时候都回被自动转换为int后进行计算
- 数值计算程序大放送-矩阵运算
- pandas擅长数据I/O处理numpy擅长数组数值计算
- MATLAB学习(二)数值数组及其运算
- (数组应用四:数值矩阵的运算4.4.1)POJ 2260 Error Correction(奇偶均匀特性)
- 数值计算程序-特征值和特征向量 [转]
- OpenCV矩阵运算之顶点法向量计算
- 风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围:2<=n<
- 初探利用C++的STL实现数学四则运算计算结果
- NumPy常用【数值计算】函数总结(1):生成数组、读取数组、数组操作
- NumPy常用【数值计算】函数总结(2):ufunc运算、矩阵运算
- 再探利用C++的STL和堆栈编程思想实现数学四则运算计算结果
- 对象和数组在数值运算环境中的特殊情况
- 计算N!(数组模拟超大数运算)