VisualFreeBasic代码_数组

2026-1-21 / 0 评论 / 62 阅读

数组是一种基础而强大的数据结构,它允许你存储一系列相同类型的值。在编程中,数组的使用非常广泛,可以用来实现各种算法和数据处理任务。这里我将为你提供一个基本的数组编程教程,涵盖数组的基本概念、声明、初始化、访问、遍历以及一些常见操作。

1. 数组的基本概念

数组是一种线性数据结构,它允许你以索引(通常是整数)访问元素。数组中的每个元素可以通过计算偏移量来快速访问,这使得数组成为处理大量数据时的理想选择。

2. 数组的声明与初始化

静态数组

在大多数编程语言中,你可以在声明数组时指定数组的大小(即数组可以存储的元素数量)。

Dim 数组(99) As Long 

从 0 开始到 99 可以保存 100个数据

Dim 数组(10 to 20) As Long 

从 10 开始到 20 可以保存 11 个数据

动态数组

即数组的大小可以随着元素的增加或删除而自动调整。

   Dim 数组() As Long 

刚声明的数组是未初始化状态,然后需要使用数组时,随时改变大小,此时原来有数据将会全部清空

   ReDim 数组(99)

要想保留原来数组的内容,需要

   ReDim Preserve  数组(99)

让初始化的动态数组为未初始化状态

Erase 数组

数组初始化赋值

就是声明数组同时给数组赋值,都是静态数组,动态不可以。
如果没搞初始化赋值,数组的值,字符为空,数组为0

   Dim 字符数组(4) As String={"11","22","33","44","55"} 
   Dim 数值数组(4) As Long = {11, 22, 33, 44, 55}
   Dim 根据参数来定大小数组(...) As Long = {11, 22, 33, 44, 55,66}

3. 访问数组元素

通过索引来访问数组元素。索引通常是从0开始的。

dim aa as long = 数组(1)
数组(1) =aa

4. 遍历数组

遍历数组意味着按顺序访问数组中的每个元素。这通常通过循环来实现。

   Dim 数组(99) As Long, i As Long 
   For i = 0 To 99
      数组(i) = Rnd *100
   Next    
   For i = 0 To 99
      Print i, 数组(i)
   Next 

4. 检索数组大小

LBound 返回数组维度的下限
UBound 返回数组维度的上限

   Dim 数组(10 To 20) As Long 
   Print LBound(数组),UBound(数组)

打印结果: 10,20
假如动态数组未初始化,返回 -1

   Dim 数组() As Long 
   Print LBound(数组),UBound(数组)

打印结果: -1,-1

4. 遍历数组

4. 遍历数组

5. 数组的常见操作

  • 插入元素:在数组中添加新元素可能需要移动其他元素以为新元素腾出空间,通常用于动态数组。
   Dim 数组() As Long, i As Long, u As Long 
   ReDim 数组(100)
   u=UBound(数组) '获取数组下标
   ReDim Preserve 数组(u+1)  '增加一个数组并保留原来数据
   '假如在50索引插入数组 
   '腾出50索引空间
   For i = u To 50 setp -1
      Swap 数组(i),数组(i+1)
   Next       
   数组(50) =999
  • 删除元素:从数组中移除元素,并可能需要重新排列剩余元素。
   Dim 数组() As Long, i As Long, u As Long, x as long 
   ReDim 数组(100)
   '假如要删除50索引
   x =50
   u = UBound(数组) '获取数组下标
   If x < 50 Then 
      For i = x To u -1
         Swap 数组(i),数组(i+1)
      Next 
   End If 
   If u = 0 Then 
      Erase 数组  '没数组了
   Else
      ReDim Preserve 数组(u-1)  '删除一个数组并保留原来数据
   End If 
  • 搜索元素:在数组中查找特定元素的索引或是否存在该元素。
   Dim 数组(100) As Long, i As Long
   For i = 0 To UBound(数组)
      If 数组(i) = 99 Then
         '找到数据,退出循环
         Exit For
      End If
   Next
  • 排序:将数组中的元素按照一定顺序排列。
    数值类型排序
   Dim 数组(100) As Long
   QuickSortLong(数组(), LCase(数组), UBound(数组))

字符串类型排序

   Dim 数组(100) As String 
   QuickSortStr(数组(), LCase(数组), UBound(数组))

其它类型排序,需要自己写算法了,反正不存在通用的排序

超范围使用数组

超过声明的数组范围,软件将会崩溃

   Dim 数组(1) As Long 
   Print 数组(2)    ******软件会崩溃*****

当你的软件发生崩溃时,大多数原因,就是数组超范围使用了。

评论一下?

OωO
取消