本文主要是介绍V0第 第13节 数组类型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.动态数组
- 与之前的定长数组相比,SV提供了可以重新确定大小的动态数组
- 动态数组在声明时需要使用[],这表示不会在编译时为其制定尺寸,而是在仿真运行时来确定
- 动态数组一开始为空,需要使用new[]来为其分配空间
int dyn[],d2[];//声明动态数组
initial begindyn = new[5]; //分配5个元素foreach (dyn[j]) dyn[j] = j; //对元素进行初始化
end
- 内建方法size()可以返回动态数组的大小
- 内建方法delete()可以清空动态数组,使其尺寸变为0
- 动态数组在声明时也可以完成其初始化
2.队列
- SV引入了队列类型,它结合了数组和链表
- 可以在队列的任何位置添加或者删除数据成员
- 可以通过索引来访问队列的任何一个成员
- 通过[$] 来声明队列,队列的索引值从0到 $
- 可以通过内建方法push_back(val)、push_front(val)、pop_back()和pop_front()来顺序添加或者移除并且获得数据成员
- 可以通过insert(val,pos)来指定位置插入数据成员
- 可以通过delete()来删除所有数据成员
3. 缩减方法
- 基本的数组缩减方法是把一个数组缩减成一个值
- 最常用的缩减方法是sum,它对数组中的所有元素求和
- 其它的数组缩减方法还有product(积),and(与),or(或)和xor(异或)
byte b[$] = {2,3,4,5};
int w;
w = b.sum();//14
w = b.product();//120 = 2*3*4*5
w = b.and();//2&3&4&5
4. 定位方法
- 对于非合并数组,可以使用数组定位方法,其返回值将是一个队列而非一个数据成员
- 使用foreach也可以实现数组的搜索,不过使用find…with则在查找满足条件的数据成员时,更为方便
- 可以通过排序方法改变数组中元素的顺序,可以对它们进行正向、逆向或者乱序的排列
这篇关于V0第 第13节 数组类型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!