V0第 第13节 数组类型

2023-12-10 19:39
文章标签 类型 数组 13 v0

本文主要是介绍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节 数组类型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/478150

相关文章

Java数组动态扩容的实现示例

《Java数组动态扩容的实现示例》本文主要介绍了Java数组动态扩容的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1 问题2 方法3 结语1 问题实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

C# WebAPI的几种返回类型方式

《C#WebAPI的几种返回类型方式》本文主要介绍了C#WebAPI的几种返回类型方式,包括直接返回指定类型、返回IActionResult实例和返回ActionResult,文中通过示例代码介绍的... 目录创建 Controller 和 Model 类在 Action 中返回 指定类型在 Action

python中的鸭子类型详解

《python中的鸭子类型详解》鸭子类型是Python动态类型系统的灵魂,它通过强调“行为”而非“类型”,赋予了代码极大的灵活性和表现力,本文给大家详细介绍python中的鸭子类型,感兴趣的朋友一起看... 目录1. 核心思想:什么是鸭子类型?2. 与“传统”静态类型语言的对比3. python 中无处不在

Java枚举类型深度详解

《Java枚举类型深度详解》Java的枚举类型(enum)是一种强大的工具,它不仅可以让你的代码更简洁、可读,而且通过类型安全、常量集合、方法重写和接口实现等特性,使得枚举在很多场景下都非常有用,本文... 目录前言1. enum关键字的使用:定义枚举类型什么是枚举类型?如何定义枚举类型?使用枚举类型:2.

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py