随笔 - 224  文章 - 41  trackbacks - 0
<2012年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

享受编程

常用链接

留言簿(11)

随笔分类(159)

随笔档案(224)

文章分类(2)

文章档案(4)

经典c++博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜

原文地址:http://www.cppblog.com/tgh621/archive/2008/04/17/47356.html

valarray类用法

1.       apply       valarray数组的每一个值都用apply所接受到的函数进行计算

2.       cshift      valarray数组的数据进行循环移动,参数为正者左移为负就右移

3.       max         返回valarray数组的最大值

4.       min          返回valarray数组的最小值

5.       resize       重新设置valarray数组大小,并对其进行初始化

6.       shift         valarray数组移动,参数为正者左移,为负者右移,移动后由0填充剩余位

7.       size          得到数组的大小

8.       sum         数组求和

构造函数

valarray( );

explicit valarray(size_t _Count);

valarray(   const Type& _Val,    size_t _Count);

valarray(   const Type* _Ptr,    size_t _Count);

valarray(   const slice_array<Type>& _SliceArray);

valarray(   const gslice_array<Type>& _GsliceArray);

valarray(   const mask_array<Type>& _MaskArray);

valarray(   const indirect_array<Type>& _IndArray);

 

 

 

slice类用法

该类主要配合valarray类使用,可以从valarray中提取子数组

slice( ); 

slice(   size_t _StartIndex,//截取数组的开始位置

   const valarray<size_t> _Len, //子数组的最大长度

   const valarray<size_t> _Stride//相隔多少个元素选中一个

);

用法:

int main( )

{

   using namespace std;

   int i;

 

   valarray<int> va ( 20 ), vaResult;

   for ( i = 0 ; i < 20 ; i+=1 )

      va [ i ] = 2 * (i + 1 );

 

   cout << "The operand valarray va is:\n( ";

      for ( i = 0 ; i < 20 ; i++ )

         cout << va [ i ] << " ";

   cout << ")." << endl;

 

   slice vaSlice ( 1 , 7 , 3 );

   vaResult = va [ vaSlice ];

 

   cout << "\nThe slice of valarray va is vaResult:"

        << "\nva[slice( 1, 7, 3)] = ( ";

      for ( i = 0 ; i < 7 ; i++ )

         cout << vaResult [ i ] << " ";

   cout << ")." << endl;

}

输出结果:

The operand valarray va is:

( 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 ).

 

The slice of valarray va is vaResult:

va[slice( 1, 7, 3)] = ( 4 10 16 22 28 34 40 ).

 

 

 

Gslice类用法

Gslice类的用法和slice基本相同,只是它截取的是循环子串,当母串进行一次提取后的字串元素数目达不到要求时,gslice会将提取后的母串继续组合进行提取直到满足要求或者母串被提取完了

 

 

公共函数(对数组的操作)

1.abs   对数组的每一个元素取绝对值

2.acos   返回每个元素的反余弦值

3.asin 返回每个元素的反正弦值

4.atan 返回每个元素的正切值

5.atan2 笛卡尔正切值

6.cos   余弦值

7.cosh 双曲线余弦值

8.exp   返回自然指数E^x

9.log   返回自然对数

10.log10    返回以10为底的返回自然对数

11.exp      返回x^y

12.sin      正弦值

13.sinh     双曲线正弦值

14.sqrt     开方

15.tan      正切值

16.tanh     反正切值

posted on 2008-11-18 09:24 漂漂 阅读(409) 评论(0)  编辑 收藏 引用 所属分类: visual studio

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理