分类
Flash

使用ActiotScript连接组合两个Array

有两个关联数组,如何将其中一个关联数组添加到另外一个数组中,当然关联数组中得有一个相同的属性,该属性性对于源数组是唯一的,对于目标数组可以重复或为空。这就好像是SQL中用inner join关键字将两个表通过外键连接起来。看下面的代码:

分类
Flash

数组的最大两个元素求和

其实用数组的sort方法或Math.max方法不难求得数组最大两个元素的和,但有人觉得这样做性能不高。那我们就不使用这两种ActionScript方法,而通过比较遍历数组元素来实现。看下面代码:

分类
Flash

交换二维数组的行列(AS3)

最近用perl做了一个项目,将N个某个目录下的N 个CSV插入到Sybase数据库中,CSV是个交叉表,在处理时需要交换二维数组的行列。用perl来实现很简单,其实用ActionScript也不难。

分类
Flash

数组二叉查找算法

从数组中查找某一元素的最简单办法就是遍历数组中所有元素,然后和查找值比较,这种查找方式称作线性查找,它适用于未排序的小型数组。对于已排序的大型数组,可以使用二叉查找算法。

该算法首先找到数组中间位置的元素,并将其与查找值比较,如果相等,就返回该元素的索引;否则就将问题简化为查找数组的一半元素。如果查找值小于中间元素,就查找数组的前半部分,否则就查找数组的后半部分。看下面代码:

分类
Flash

数组冒泡排序

冒泡算法对于很多人来说应该很熟悉了,我是文科出身,所以还是有必要学一下的。

数组排序有很多种算法。在冒泡算法中,较小的数组元素朝数组顶部逐渐冒上来,就像水中气泡上升一样,而较大的数组元素朝数组底部逐渐沉下去。这种算法用嵌套循环对整个数组数次遍历,每次遍历都比较数组中相邻的一对元素,如果它们以升序排列(或者值相等),那么它们的位置不变,否则交换它们的位置。看下面代码。