VEX-ARRAY数组

1. 创建array并赋值给point或prim
在这里插入图片描述


2. 读取数组某个item的值

f[]@posA = {0,1,2,3};
float bb = f[]@posA[5];//读取数组要写清楚类型,如: v[] , f[] , f[]
printf('bb= %s\n',bb);//因为posA最多4个数,所以bb调取的是空值,空值返回0

强行创建数组元素并赋值;打印此项的值;打印数组长度值

f[]@posA[8] = 25;                 //强行创建数组元素并赋值(48之间会自动生成数组元素并赋值为0)
printf('@posA[8]= %s\n',f[]@posA[8]);//打印数组的第8号元素的值
printf('len(posA)= %s\n',len(f[]@posA));//打印@posA数组的长度值(多少个数)

打印结果:@posA[8]= 25 ;len(posA)= 9



3. 添加、插入值(append;insert)
创建数组&nbspi[]@b = array(1,2);
添加值

i[]@b = array(1,2);

//在已有数组末端添加新的值
append(@b,6); 
push(@b,5); //push()和append()似乎一样
printf('@b push = %s\n',@b);//打印

打印结果:@b push = {1, 2, 6, 5}


插入值

//在数组的0号位置(最前端)插入项,值为9
insert(@b,0,9); //insert()函数 插入一个、数组、或字符串 到 一个数组或字符串
printf('@b insert = %s\n',@b);

打印结果:**@b insert = {9, 1, 2, 6, 5}



4.通过 push()函数添加数组

float values[];
 
push(values, 3.6);
push(values, 1.9);
 
float val = 8.4;
push(values, val);

printf("values=%s\n",values);
//数组结果 [3.6, 1.9, 8.4]



5.删除数组(pop ; removevalue)
通过 pop() 函数删除数组最后一个值

float  values[] = {2.3, 93, 34, 4.2}; 
pop(values);
//数组结果 [2.3, 93.0, 34.0]

通过removevalue()函数删除指定值,如果有多个相同的值仅能删除第一个值

float  aa[] = {2.3, 93, 34, 4.2, 93.0}; 
removevalue(aa, 93.0);
//数组结果 [2.3, 34.0, 4.2, 93.0]



6.数组切片
value[ start开始 : end结束 : step步幅 ]
负数代表从倒数第几个开始
空值代表最前或最后

/*
value[ start开始 : end结束 : step步幅 ]   
*/

int nums[] = {0, 1, 2, 3, 4, 5};
//           -6 -5 -4 -3 -2 -1             

int start[] = nums[0:2];         // 0号开始,2号前结束(娶不到2号)
int end[] = nums[-2:];           // {4, 5} 倒数第2个开始 直到尽头

int rev[] = nums[::-1];          //{5,4,3,2,1,0} 反着数,直到最前面
int rev2[] = nums[-1:-4:-1];     //{5,4,3}倒数第1个开始,反着数,倒数第4个前结束(取不到第4个)

int old[] = nums[1::2];//{1,3,5} 1号开始步幅为2,直到结尾
int old2[] = nums[1:len(nums):2];//1开始,第(数组元素的数量值)号结束,步幅为2
<br></br>

7.数组排序
reorder()  sort()  reverse()
reorder根据指定索引重新排列数组(string类型)的索引顺序.(也就是用指定的索引替代数组的原索引来重新排列数组)

string food[] = {"炸鸡", "可乐", "汉堡"};
int order[] = {1,0,2};
string len[] = reorder(food,order);
int b[] = argsort(len);
int c[] = argsort(food);
printf("%s\n",len);  //结果:{可乐, 炸鸡, 汉堡}
printf("%s\n",c);    //结果:{1, 2, 0}
printf("%s\n",b);    //结果:{0, 2, 1}

sort按值大小重新排列
reverse反向排列

int a[] = {1,2,0,4,3};
i[]@a=sort(a);
i[]@b=reverse(sort(a));
printf("@a=%s\n",@a);    //结果:@a={0, 1, 2, 3, 4}
printf("@b=%s\n",@b);    //结果:@b={4, 3, 2, 1, 0}



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值