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中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

IDEA如何将String类型转json格式

《IDEA如何将String类型转json格式》在Java中,字符串字面量中的转义字符会被自动转换,但通过网络获取的字符串可能不会自动转换,为了解决IDEA无法识别JSON字符串的问题,可以在本地对字... 目录问题描述问题原因解决方案总结问题描述最近做项目需要使用Ai生成json,可生成String类型

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

Python中异常类型ValueError使用方法与场景

《Python中异常类型ValueError使用方法与场景》:本文主要介绍Python中的ValueError异常类型,它在处理不合适的值时抛出,并提供如何有效使用ValueError的建议,文中... 目录前言什么是 ValueError?什么时候会用到 ValueError?场景 1: 转换数据类型场景

C# dynamic类型使用详解

《C#dynamic类型使用详解》C#中的dynamic类型允许在运行时确定对象的类型和成员,跳过编译时类型检查,适用于处理未知类型的对象或与动态语言互操作,dynamic支持动态成员解析、添加和删... 目录简介dynamic 的定义dynamic 的使用动态类型赋值访问成员动态方法调用dynamic 的

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que