admin 管理员组

文章数量: 1184232


2024年1月28日发(作者:不同排序算法的基本原理)

六.数组操作

6.1重定义数组 命令

操作系统支持:Windows、Linux、Unix 所属类别:数组操作

本命令可以重新定义指定数组的维数及各维的上限值。

语法: 无返回值 重定义数组 (欲重定义的数组变量, 是否保留以前的内容, 数组对应维的上限值, ... )

参数名

欲重定义的数组变量

是否保留以前的内容

数组对应维的上限值

描 述

必需的; 通用型,参数数据只能提供变量数组。

必需的; 逻辑型,初始值为“假”。

必需的; 可扩充的;整数型。

使用:.版本 2

.程序集 窗口程序集1

.子程序 _按钮1_被单击

.局部变量 a, 整数型, , "2,2"

.局部变量 b, 整数型, , "0"

.局部变量 i, 整数型

.局部变量 ii, 整数型

重定义数组 (a, 假, 2, 2)

*欲重定义的数组变量:a

*是否保留以前的内容:假(真)

*数组对应维的上限值:2

*数组对应维的上限值:2

a [1] [1] = 1

a [1] [2] = 2

a [2] [1] = 3

a [2] [2] = 4

b = a

重定义数组 (a, 假, 2, 4)

.计次循环首 (取数组下标 (b, 1), i)

.计次循环首 (取数组下标 (b, 2), ii)

a [i] [ii] = b [i] [ii]

.计次循环尾 ()

.计次循环尾 ()

b = { }

画板1.滚动写行 (a [1] [1], a [1] [2], a [1] [3], a [1] [4], a [2] [1], a [2] [2], a [2] [3], a [2] [4])

运行结果:1 2 0 0 3 4 0 0

6.2取数组成员数 命令

操作系统支持:Windows、Linux、Unix 所属类别:数组操作

取指定数组变量的全部成员数目,如果该变量不为数组,返回-1,因此本命令也可以用作检查指定变量是否为数组变量。

语法: 整数型 取数组成员数 (欲检查的变量)

参数名

欲检查的变量

描 述

必需的; 通用型,参数数据只能提供变量及变量数组。参数值指定欲检查其成员数目的数组变量或者欲检查其是否为数组的变量。

使用:.版本 2

.程序集 窗口程序集1

.子程序 __启动窗口_创建完毕

.局部变量 A, 整数型, , "3,4"

编辑框1.内容 = 到文本 (取数组成员数 (A))

运行结果:12

原因:数组A为[3,4], 取数组成员数(A) 命令,既有3*4=12,共12个成员。

6.3取数组下标 命令

操作系统支持:Windows、Linux、Unix 所属类别:数组操作

返回指定数组维可用的最大下标(最小下标固定为1)。如果给定变量不为数组变量或指定维不存在,返回 0 。

语法: 整数型 取数组下标 (欲取某维最大下标的数组变量, [欲取其最大下标的维])

参数名 描 述

欲取某维最大下标的数组必需的; 通用型,参数数据只能提供变量及变量数组。

变量

欲取其最大下标的维 可选的; 整数型。1 表示第一维,2 表示第二维,如此类推。如果省略本参数,默认值是 1。

使用:.版本 2

.程序集 窗口程序集1

.子程序 __启动窗口_创建完毕

.局部变量 A, 整数型, , "3,8"

编辑框1.内容 = 到文本 (取数组下标 (A, 2))

*欲取某维最大下标的数组变量:A

*欲取其最大下标的维:2

运行结果:8

原因:取数组下标 命令 为取指定数组维可用的最大下标。在本程序中,取的数组A为三行四列二维数组[3,8],取的最大维数是2,所以最大下标为8

如果最大下标维数是1,此时结果是? (3)

如果最大下标维数是>2,此时结果是? (0)

6.4复制数组 命令

操作系统支持:Windows、Linux、Unix 所属类别:数组操作

将数组数据复制到指定的数组变量,该数组变量内的所有数据和数组维定义信息将被全部覆盖。

语法: 无返回值 复制数组 (复制到的数组变量, 待复制的数组数据)

参数名

复制到的数组变量

待复制的数组数据

描 述

必需的; 通用型,参数数据只能提供变量数组。

必需的; 通用型,参数数据只能提供数组数据。

使用:.版本 2

.支持库 spec

.子程序 __启动窗口_创建完毕

.局部变量 A, 整数型, , "4"

A = { 5, 1, 22, 8, 4, 7, 3 }

复制数组 (A, { 1, 3, 5, 6 })

调试输出 (A)

运行结果:数组:4{1,3,5,6} 将原来数组A的数据以及维数都覆盖了!

6.5加入成员 命令

操作系统支持:Windows、Linux、Unix 所属类别:数组操作

将数据加入到指定数组变量的尾部,并通过重新定义数组维数自动增加其成员数目。数组变量如为多维数组,加入完毕后将被转换为单维数组。

语法: 无返回值 加入成员 (欲加入成员的数组变量, 欲加入的成员数据)

参数名

欲加入成员的数组变量

描 述

必需的; 通用型,参数数据只能提供变量数组。

欲加入的成员数据 必需的; 通用型,参数数据可以同时提供数组或非数组数据。参数值所指定成员数据的数据类型必须能够与第一个参数所指定的数组变量相匹配。

使用:.版本 2

.程序集 窗口程序集1

.子程序 插入数据, 逻辑型

.参数 插入位置, 整数型

.参数 欲插入数据, 整数型

.参数 欲插入数组, 整数型

.局部变量 p, 整数型

.如果真 (插入位置 < 1 或 插入位置 > 取数组成员数 (欲插入数组))

结束 ()

.如果真结束

返回 (假)

加入成员 (欲插入数组, 欲插入数据)

p = 取数组成员数 (欲插入数组)

.判断循环首 (p > 插入位置)

欲插入数组 [p] = 欲插入数组 [p - 1]

p = p - 1

.判断循环尾 ()

欲插入数组 [插入位置] = 欲插入数据

6.6插入成员 命令

操作系统支持:Windows、Linux、Unix 所属类别:数组操作

将数据插入到指定数组变量的指定位置,并通过重新定义数组维数自动增加其成员数目。数组变量如为多维数组,插入完毕后将被转换为单维数组。

语法: 无返回值 插入成员 (欲插入成员的数组变量, 欲插入的位置, 欲插入的成员数据)

参数名

欲插入成员的数组变量

欲插入的位置

描 述

必需的; 通用型,参数数据只能提供变量数组。

必需的; 整数型。位置值从 1 开始,如果小于 1 或大于第一个参数所指定数组变量的成员数目 + 1,将不会插入任何数据。

必需的; 通用型,参数数据可以同时提供数组或非数组数据。参数值所指定成员数据的数据类型必须能够与第一个参数所指定的数组变量相匹配。

欲插入的成员数据

使用:.版本 2

.支持库 spec

.程序集 窗口程序集1

.子程序 __启动窗口_创建完毕

.局部变量 A, 整数型, , "4"

A = { 1, 2, 3, 4 }

插入成员 (A, 1, 3)

*欲插入成员的数组变量:A

*欲插入的位置:1

*欲插入的成员数据:3

调试输出 (A)

运行结果:数组:5{3,1,2,3,4}

6.7删除成员 命令

操作系统支持:Windows、Linux、Unix 所属类别:数组操作

删除指定数组变量中的成员,并通过重新定义数组维数自动减少其成员数目。数组变量如为多维数组,删除完毕后将被转换为单维数组。返回所实际删除的成员数目。

语法: 整数型 删除成员 (欲删除成员的数组变量, 欲删除的位置, [欲删除的成员数目])

参数名

欲删除成员的数组变量

欲删除的位置

描 述

必需的; 通用型,参数数据只能提供变量数组。

必需的; 整数型。位置值从 1 开始,如果小于 1 或大于第一个参数所指定数组变量的成员数目,将不会删除任何数据。

可选的; 整数型。本参数如果被省略,默认为 1 。 欲删除的成员数目

使用:.版本 2

.程序集 窗口程序集1

.子程序 __启动窗口_创建完毕

.局部变量 A, 整数型, , "3,8"

*欲删除成员的数组变量:A

*欲删除的位置:12

*欲删除的成员数目:6

编辑框1.内容 = 到文本 (删除成员 (A, 12, 6))

运行结果:6 (程序返回所实际删除的成员数目)

6.8清除数组 命令

操作系统支持:Windows、Linux、Unix 所属类别:数组操作

删除指定数组变量中的所有成员,释放这些成员所占用的存储空间,重新定义该变量为单维 0 成员数组变量。

语法: 无返回值 清除数组 (欲删除成员的数组变量)

参数名

欲删除成员的数组变量

描 述

必需的; 通用型,参数数据只能提供变量数组。

使用:.版本 2

.支持库 spec

.程序集 窗口程序集1

.子程序 __启动窗口_创建完毕

.局部变量 A, 整数型, , "4"

A = { 1, 2, 3, 4 }

清除数组 (A)

调试输出 (A)

运行结果:数组:0{}

6.9数组排序 命令

操作系统支持:Windows、Linux 所属类别:数组操作

对指定数值数组变量内的所有数组成员进行快速排序,不影响数组的维定义信息,排序结果存放回该数组变量。

语法: 无返回值 数组排序 (数值数组变量, [排序方向是否为从小到大])

参数名

数值数组变量

描 述

必需的; 通用型,参数数据只能提供变量数组。

排序方向是否为从小到大 可选的; 逻辑型。如果参数值为真,排序方向为从小到大,否则为从大到小。如果本参数被省略,默认值为真。

使用:.版本 2

.支持库 spec

.程序集 窗口程序集1

.子程序 __启动窗口_创建完毕

.局部变量 A, 整数型, , "4"

A = { 5, 1, 22, 8, 4, 7, 3 }

数组排序 (A, 真)

*数值数组变量:A

*排序方向是否为从小到大:(可以被省略。如果参数值为真,排序方向为从小到大,否则为从大到小。如果本参数被省略,默认值为真。)

调试输出 (A)

运行结果:数组:7{1,3,4,5,7,8,22}

原因:将数组A中的数组从小到大排列

如果:数组排序 (A, 真)→数组排序 (A, 假),运行结果是,数组从大到小排列。

数组:7{22,8,7,5,4,3,1}

6.10数组清零 命令

操作系统支持:Windows、Linux 所属类别:数组操作

将指定数值数组变量内的所有成员值全部设置为零,不影响数组的维定义信息。

语法: 无返回值 数组清零 (数值数组变量)

参数名

数值数组变量

描 述

必需的; 通用型,参数数据只能提供变量数组。

使用:.版本 2

.支持库 spec

.子程序 __启动窗口_创建完毕

.局部变量 A, 整数型, , "4"

A = { 5, 1, 22, 8, 4, 7, 3 }

数组清零 (A)

调试输出 (A)

运行结果:数组:7{0,0,0,0,0,0,0}

原因:数组清零 ()是将指定数值数组变量内的所有成员值全部设置为零,不影响数组的维定义信息。


本文标签: 数组 变量 成员 数据 指定