码迷,mamicode.com
首页 > 编程语言 > 详细

程序开发中积累的一些算法

时间:2015-08-07 13:26:46      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

绪论:算法在计算机中基本上是通用的,只不过不同的语言表现的方式有差别.


1.集合类型数据用特定字符拼接为一个字符串

var str:String = "";
var arr:Array = [1,2,3,5,3,2];
var sep:String = ";";
for(var i:int = 0;i < arr.length; i++)
{
var n:int = arr[i];
if(i < arr.length - 1)//前arr.length - 1个元素追加分隔符
str += n + sep;
else //最后一个直接加上
str += n;
}
trace(str);
上述算法相当于数组的join()方法.API方法有时候会有一定局限.

2.提取某元素所在组数据
假设有一个数据集合{n1,n2,n3,n4,n5......},里面的数据每N个为一个Group.
已知集合对象和其中某个元素的索引i.要求把元素i所在Group的所有元素
放在一个集合中.
集合索引一般从0开始.
var g:int = int(Math.ceil(i/N)) 对元素i与N相除,并对结果向上取整可得i是第几组数据
第1组 0 到 N-1
第2组 N 到 N+N - 1
......
第g组 (g-1)*N 到 g*N -1

至此可以得到元素i所在组的起始索引
var startIndex:int = (g-1)*N;
var endIndex:int = g*N - 1;
接下来只需要对集合对象按照上述索引遍历即可
for(var index:int = start;index <= end;index++)//索引的Range是全闭区间
{
.......................
}




版权声明:本文为博主原创文章,未经博主允许不得转载。

程序开发中积累的一些算法

标签:

原文地址:http://blog.csdn.net/yuqixiansheng/article/details/47335835

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!