数组知识初步总结

1.定义一个数组,其实就是让系统在内存中分配一个连续的区域,用来存储数组的元素。其格式为:Dim 数组名字  (下界 To 上界) As  类型。

Dim MarkVB(1 To 30) As Integer '定义一个一维数组  上界30  下界是1  共30个元素。 也可以Dim MarkVB(29) As integer,此定义下表从0开始,元素也是30个。   加上Option Base 1  ,Dim MarkVB(30) As integer这个语句也是30个元素,下标从1开始。数组大小=上界-下界+1。

2.动态数组 ,不能定义数组的维数和个数。Dim  Mark()  As Integer  使用的时候重新声明     redim Mark(n)即可。使用关键字Pereserve可以保存之前的数组内容。

3. ReDim 语句的下标可以是常量,也可以是有确定值的变量,程序书写时可以多次使用ReDim来改变数组的大小,但是每次使用Redim语句都会造成数组之前数据的丢失,使用Preserve选项对数组进行重新说明时,将会保留数组中原来的数据,但是该参数只能改变最后一维的大小。

4.数组输入函数 Array(),此函数只能对一维数组进行赋初值,并且这个数组必须为Variant变体型,不能声明数组的大小和类型。Dim  Mark() ,Mark=Array(1,2,3)  ,此时可以利用Ubound()函数确定数组的上界,比如Ubound(Mark)=2,利用For循环可以输出数组元素。

5.Val()是一个类型转换函数 ,可以把字符串转换成相应的整数,Val("-3")=-3   VAL("vb5.0")=0  VAL("12 bC")=12  VAL与CSTR功能相反,CSTR将数值表达式的值换成字符串        CSTR(125)="125"

6. 选择法排序

思想:求取数组最值下标,并交换位置。

步骤: 1. 每一轮在未排序的数组中,找出最值和第一个元素进行交换,这样就确定了一个元素的位置

2. 未排序的数组范围缩小一个,继续采取上述步骤进行新的排序

注意一下  n个数据只要进行N-1轮排序即可  附上一个代码

7.冒泡法排序

思想:冒泡排序 每一次将相邻的两个数字进行比较,比如10个数字。每一次比较相邻的两个,让比较大的数值往下走,第一轮比较9次就可以将最大的数字排到最后面,10个数字需要进行9趟比较,第i趟比较的次数为10-i.

注意点:冒泡排序是可以提前结束的,如果在某一趟的排序比较中,没有发现变量的下沉,那么说明数字已经是有序排列,则此时可以终结排序。设置一个标志变量 ,放在内循环中,用来检测排序是否完成 。程序如下

8. 插入数据,在有序数组中插入一个数据

基本思想:首先寻找插入的位置,其次将插入位置之后的元素一次向后移位 。

注意事项及代码 如下

9.删除数据

10. Asc()函数用来返回字符的ASCII码   并且只返回第一个字符  Asc("abc")  =97

Ucase()函数:UCase(string),返回 Variant(String)其中包含转成大写的字符串。必要的 string参数为任何有效的字符串表达式。如果 string 包含 Null,将返回Null。只有小写的字母会转成大写,原本大写或非字母之字符保持不变。例:Dim MyWord= UCase("Hello World")' 返回"HELLO WORLD"。

VB学习记录——数组相关推荐

  1. 不逼自己一把都不知道自己还能这么优秀(小鹅通学习记录大批量队列同步)

    不逼自己一把都不知道自己还能这么优秀-小鹅通学习记录大批量队列同步实战日志 前言 一.编程语言介绍 1.php是世界上最好的语言 2.第三方API对接的苦恼 3.为什么说好的项目进度表都是画饼 二.炫 ...

  2. 【C语言进阶深度学习记录】二十六 C语言中的字符串与字符数组的详细分析

    之前有一篇文章是学习了字符和字符串的,可以与之结合学习:[C语言进阶深度学习记录]十二 C语言中的:字符和字符串 文章目录 1 字符串的概念 1.1 字符串与字符数组 1.2 字符数组与字符串代码分析 ...

  3. 2021-01-22学习记录 || 通过二维数组初始化窗体并进行代码重构

    今天主要是通过二维数组将整个界面16个数字块展示出来,并为了下一步添加左移.右移功能创建子类MainFrame继承JFrame类并进行代码重构. 二维数组展示初始化界面 由于2048小游戏需要16个数 ...

  4. 【学习记录2】数组里的字符串转换成数字或者把数字转换成字符串

    js学习记录之数组里纯数字和纯字符串之间的转换 var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(String); //结果: ['1', '2', '3' ...

  5. 数组求前n项和 和 求中间n项和 学习记录

    树状数组求前n项和 和 求中间n项和 学习记录 树状数组主要是靠lowbit函数,具体的是原码反码补码巧夺天工的想法,想要了解的可以百度一下. lowbit = ()=>{return x&am ...

  6. 【C语言进阶深度学习记录】二十四 指针与数组的本质分析一

    文章目录 1 回顾--数组的本质 2 指针的运算 2.1 指针运算代码案例分析 3 指针的比较 3.1 指针运算的应用代码案例分析 4 总结 1 回顾–数组的本质 在之前的文章,已经学习了数组的本质分 ...

  7. Python学习记录day3

    2019独角兽企业重金招聘Python工程师标准>>> Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个 ...

  8. 【学习记录】macOS的Redis安装及基本使用

    [学习记录]macOS的Redis安装及基本使用 一. Redis的安装与启动 二. 简单使用 ① 尝试插入第一个key-value ② Redis的数据类型与基本使用 字符串 列表 字典(哈希表) ...

  9. java基础案例教程前4章知识点_java学习记录4 Java基础知识点

    java学习记录4 Java基础知识点 1. 注释 单行注释 使用"//"开头,后面是注释的内容 一般在要注释的语句的上面加注释 多行注释 以"/*"开头,以& ...

  10. 【java并发编程艺术学习】(四)第二章 java并发机制的底层实现原理 学习记录(二) synchronized...

    章节介绍 本章节主要学习 Java SE 1.6 中为了减少获得锁 和 释放锁 时带来的性能消耗 而引入的偏向锁 和 轻量级锁,以及锁的存储结构 和 升级过程. synchronized实现同步的基础 ...

最新文章

  1. c/c++十七: 变长参数
  2. Visual Studio 2019安装教程
  3. MetricBeat(win/linux)部署 系统CPU内存等资源情况监控
  4. wordpress url index.php,WordPress对URL的路由解析过程详解
  5. 任天堂的好日子還會繼續嗎﹖
  6. php删除双引号,PHP引号前添加反斜杠、去除反斜杠的方法
  7. Linux C基础笔记(2)
  8. Java学习资料-java基本数据类型
  9. 「镁客·请讲」南京布塔:用动作捕捉世界的精彩
  10. It's not a Bug, it's a Feature! UVA - 658 (最短路)
  11. IOS MenuController的部分操作
  12. php 126怎么设置发送邮箱验证码,邮箱发送验证码(示例代码)
  13. 基于Matlab的LSTM神经网络时序预测(完整代码+范例数据文件)
  14. linux卸载驱动命令,linux卸载驱动时 Resource temporarily unavailable
  15. Gson 测试环境 date转换抛异常
  16. PHP中的FPM是做什么的_fpm的配置与使用
  17. 桌面快捷方式图标异常怎么办
  18. 经典算法电话号码的字母组合
  19. Leetcode_122_Best Time to Buy and Sell Stock II
  20. Vue+高德地图API的使用(电子围栏)

热门文章

  1. eclipse IED 创建springboot项目教程
  2. Wireshark使用技巧
  3. 为什么正定矩阵等于转置_关于正定矩阵的一些新结果
  4. 【自用错题集】C语言 基础错题整理
  5. 程序员也是弱势群体?——从WePhone开发者事件说起
  6. mysql 错误 1548_mysql报错1548-Cannot load from mysql.proc. The table is probably corrupted
  7. mysql 创建执行函数(1418,1419错误,root可以看到函数内容,普通用户看不到,问题解决)
  8. ubuntu测试键盘工具_Lubuntu安装屏幕键盘onboard,使触摸屏可以登录和输入
  9. php 悬浮按钮,Android_Android利用悬浮按钮实现翻页效果,今天给大家分享下自己用悬浮 - phpStudy...
  10. 全球与中国膏体涂抹器市场深度研究分析报告