vbs实现c++的vector
代码(待更新):
class Vector
Private length
Private data()
Sub Class_Initialize()
length=
End Sub
'插入元素'
public Function Add (byval x)
length=length+
redim preserve data(length-)
data(length-)=x
End Function
'快速展示'
public Function display()
dim i
dim s
for i= to length-
s=s & cstr(data(i)) & " "
next
msgbox s
End Function
'返回大小'
public Function size()
size= length
End Function
'获取元素'
public Function getAt (byval pos)
if pos< or pos>length- then
getAt=
exit Function
end if
getAt=data(pos)
End Function
'删除元素'
public Function delAt (byval pos)
if pos< or pos>length- then exit Function '注意退出函数的表达式'
dim i
for i=pos to length-
data(i)=data(i+)
next
length=length-
End Function
'插入元素'
public Function insert (byval pos,byval elem)
if pos< or pos>length- then exit Function
dim i
length=length+
redim preserve data(length-)
for i=length- to pos+ step -
data(i)=data(i-)
next
data(pos)=elem
End Function
end class
调用:
set v = new Vector
v.Add
v.Add
v.Add
v.display
v.delAt
v.insert ,
v.display
完整代码:
class Vector
Private length
public data()
Sub Class_Initialize()
length=
End Sub
'插入元素'
public Function Add (byval x)
length=length+
redim preserve data(length-1)
data(length-1)=x
End Function
'快速展示'
public Function display()
dim i
dim s
for i= to length-1
s=s & cstr(data(i)) & " "
next
msgbox s
End Function
'返回大小'
public Function size()
size= length
End Function
'获取元素'
public Function getAt (byval pos)
if pos<0 or pos>length-1 then
getAt=
exit Function
end if
getAt=data(pos)
End Function
'删除元素'
public Function delAt (byval pos)
if pos<0 or pos>length-1 then '注意退出函数的表达式'
dim i
for i=pos to length-2
data(i)=data(i+)
next
length=length-1
redim preserve data(length-1)
End Function
'插入元素'
public Function insert (byval pos,byval elem)
if pos<0 or pos>length-1 then exit Function
dim i
length=length+
redim preserve data(length-1)
for i=length-1 to pos+ step -
data(i)=data(i-1)
next
data(pos)=elem
End Function
end class public Function extendProcess (byval exe,byval arr) '程序名、数组'
dim i
dim cmd
cmd=exe
For i= To ubound(arr)
cmd=cmd & " " & arr(i)
Next
dim objShell '执行命令'
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(cmd)
'读入输出文件val.txt'
Set fs = CreateObject("Scripting.FileSystemObject")
Set file = fs.OpenTextFile("val.txt", , false)
info=file.readall
file.close
set fs=nothing
'处理信息'
extendProcess=split(info) '用空格分隔'
End Function set v = new Vector
v.Add
v.Add
v.Add
v.Add
v.Add
v.Add
v.Add
v.Add
ans=extendProcess("mysort",v.data) '如果函数有返回,就必须要有括号。如果无返回,并且参数数目大于1,不能带括号'
set v2 = new Vector
for each x in ans
v2.Add x
next
v2.display ' dim objShell
' Set objShell = CreateObject("Wscript.Shell")
' objShell.Run("%comspec% /k ipconfig /all")
vbs实现c++的vector的更多相关文章
- vbs与其他语言进行交互编程(外存传参)
vbs没有自定义排序函数.无需自己造轮子,可以用其他语言来完成这个任务(在传递数据比较简单的情况下,例如只传递数组). 首先用5分钟写一个C++排序的代码.命名为“mysort.cpp”: #incl ...
- c++ vector 使用
1. 包含一个头文件: 1 #include <vector> 2. 申明及初始化: std::vector<int> first; // empty vector of in ...
- Vector Tile
Mapbox Vector Tile Specification A specification for encoding tiled vector data. <?XML:NAMESPACE ...
- ArrayList、Vector、LinkedList的区别联系?
1.ArrayList.Vector.LinkedList类都是java.util包中,均为可伸缩数组. 2.ArrayList和Vector底层都是数组实现的,所以,索引数据快,删除.插入数据慢. ...
- ArrayList、Vector、HashMap、HashSet的默认初始容量、加载因子、扩容增量
当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使效率大大降低. 加载因 ...
- Java中Vector和ArrayList的区别
首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复.3个具体 ...
- C++使用vector
#include <iostream> #include <string> #include <vector> using namespace std; void ...
- [LeetCode] Flatten 2D Vector 压平二维向量
Implement an iterator to flatten a 2d vector. For example,Given 2d vector = [ [1,2], [3], [4,5,6] ] ...
- C#调用vbs脚本实现Windows版Siri
最近新加入,把自己一些有意思的小东西分享给大家,我是一个学生,代码写得少,哪里不规范,希望大家见谅. 这事我封装好的一个类,可以直接实例化对象之后,调用"对象.Talk()"方法, ...
随机推荐
- WPF 委托 事件 B窗体调用A窗体方法
原文:WPF 委托 事件 B窗体调用A窗体方法 具体实现 A窗体 中加载B窗体 B窗体触发A窗体里的方法 当点击B窗体确定Button事件 给A窗体俩个TextBox赋值 并关闭B窗体 B窗体 ...
- 史上最全HashMap遍历方式
java Hashmap Map TreeMap 的几种遍历方式,全网最全,全网最强 package Collec2; import java.util.HashMap; import java.ut ...
- httpclient超时时间设置及代理设置
超时时间 设置HttpClient的超时时间,非常有必要性,因为httpclient 默认超时时间很长,自己可以测试一下是多久,设置超时时间否则会影响自己系统的业务逻辑,例如阻塞系统,影响系统的吞吐量 ...
- Spring核心(IoC) 入门解读
什么是IoC容器和Bean? 说到容器,就是用来装东西,那么这里边装的是什么那?是bean对象.那么你会问什么是bean?这就要从很久很久以前说起,当我们创建对象的时候,我们会new一个对象出来,但是 ...
- Redis系列---安装redis单机版02
本章将带领大家一步一步安装Redis单机版(Redis从3.0版本后就开始支持集群了,集群将会后边章节带领大家操作) 准备环境: Centos 6.X redis3.+版本(自行下载,redis 的版 ...
- 前端之photoshop的简单使用
常用图片格式 图片是网页制作中很重要的素材,图片有不同的格式,每种格式都有自己的特性,了解这些特效,可以方便我们在制作网页时选取适合的图片格式. 图片格式及特性如下: 1.psd psd是photos ...
- C# QRBarCode
1. install-package barcode -v 4.0.2.2; 2. using IronBarCode; class Program { static void Main(string ...
- 获取json对象的键数组和值数组
const obj = {a: 1, b: 2, c: 3}; Object.values(obj);//[1, 2, 3] Object.keys(obj);//["a", &q ...
- 关于spring,IOC和AOP的解析原理和举例
引用自:https://blog.csdn.net/paincupid/article/details/43152397 IOC:就是DAO接口的实现不再是业务逻辑层调用工厂类去获取,而是通过容器(比 ...
- linux上文件挂载的案例
cat /etc/fstab 将172.20.20.117上的172.20.20.117:/data/nfs/zichan/目录挂载到172.20.20.112机器上,其实类似目录共享 在需要挂载的机 ...