`
wala1118
  • 浏览: 812 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

AS3版 的二分插入

    博客分类:
  • AS3
阅读更多
刚好在工作中要用到,就贴上来了,当成是博客的第一篇了。。。
在一个已经排序的数组中插入一个项,返回一个新的数组,parameter为对比的参数:
/**
		 * 对一个已经有序的数组按参数执行二分插入排序 
		 * @param data 已经排序的数组
		 * @param item	插入项
		 * @param parameter 对比参数
		 * @return 
		 * 
		 */			
		public static function sortByInsert(data:Array,item:*,parameter:String):Array
		{
			if(data.length == 0)
			{
				data = data.concat();
				data.push(item);
			}
			else
			{
				var isHigToLow:Boolean;
				if(data.length > 2)
				{
					if(data[0][parameter] > data[1][parameter])
					{
						isHigToLow = true;
						data = data.concat().reverse();
					}
					else
					{
						data = data.concat();
					} 
				}
				var start:int = 0;
				var end:int = data.length - 1;
				var middle:int;
				//item参数最小
				if(item[parameter] < data[start][parameter] || !item[parameter])
				{
					data.unshift(item);
				}
				else if(item[parameter] > data[end][parameter]) //item参数最大
				{
					data.push(item);
				}
				else
				{
					while(start != end - 1)
					{
						middle = (start + end) >> 1;
						if(item[parameter] >= data[middle][parameter])
						{ 
							start = middle;
						}
						else
						{
							end = middle;	
						}
					}
					data.splice(end,0,item);
				}
				data = isHigToLow ? data.reverse() : data;
			}
			return data;
		}

分享到:
评论

相关推荐

    orcale常用命令

    二、用户如何有效地利用数据字典 ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。 数据字典里...

    autocad命令全集

    11 3DSIN   插入一个3DS文件 12 3DSOUT   输出图形数据到一个3DS文件 13 3DSWIVEL   旋转相机 14 3DZOOM   三维视窗下视窗缩放 15 ABOUT   显示AutoCAD的版本信息 16 ACISIN   插入一个ACIS文件 17 ACISOUT  ...

    推荐免费好用的Web在线Office(Word)编辑控件

    xlWJ3FJ3 = 41, xlUnicodeText = 42, xlHtml = 44 }; Word: Type enum WdSaveFormat { wdFormatDocument = 0, wdFormatTemplate = 1, wdFormatText = 2, wdFormatTextLineBreaks = 3, wdFormatDOSText = 4, ...

    WINRAR5.0正式注册版

    分比,不管%字符是否存在。通常 N% 恢复记录可以修复 N%的连续损坏数据,增加压缩 文件的大小仅略超过 N%。解决多个损坏的能力与N成正比。 我们使用 James S. Plank、Kevin M. Greenan 和 Ethan L. Miller 的 ...

    Oracle事例

    3 1 --对write_status=3的小计 570 5 --此处小计了570的记录 570 0 3 570 1 2 571 12 --此处小计了571的记录 571 0 10 571 1 2 .... &lt;3&gt; 复合cube表达式,只做总计 select region_code,write_status,count...

    caono佳能清零方法

    BC-33e (BCI-3eBK/3Ec/3eM/3eY)分别为(1520/55)页每个墨水盒、BC-34ephoto(BCI-3Epbk/3ePC/3Epm/3Epy)分别为(920/380/210/450)页/墨水盒 4、打印速度: 9张/分(黑墨盒)、4张/分(彩墨盒) 5、操作系统: ...

    freemarker总结

    ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"] as x&gt; ${x_index + 1}.${x}, 星期四"&gt;&lt;#break&gt;&lt;/#if&gt; &lt;p&gt;We have these animals: &lt;tr&gt;&lt;th&gt;Name&lt;th&gt;Price ...

    Hibernate3+中文参考文档

    13.1. 批量插入(Batch inserts) 13.2. 批量更新(Batch updates) 13.3. 大批量更新/删除(Bulk update/delete) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与...

    mysql数据库操作

    c、在select后面的列名部分,可以使用as为列名起别名,这个别名显示在结果集中,但是再用别名找找不到该列。 d、如果想查询多个列,之间用逗号分隔 2、消除重复行 在select后面列的前面使用distinct可以不显示...

    arcgis工具

    也可单击右键选择properties 打开edit sketch properties对话框,在坐标点位置右键插入节点 9. 共享多边形生成 Auto-complete polygon 工具生成共享边的多边形,配合snapping environment更好。 10. 画岛图 1)...

    班班通建设方案

    班班通建设方案,二.模式2“短焦投影机+电子白板+计算机+活动黑板” 室内设施与环境;供电、接地系统规范,有遮光窗帘,有条件的应安装空调;有防火、防盗设施;有互联网接入端口。 序号 名称 技 术 规 格 数量 单价...

    visio教程PDF

    12.1.1 File下拉菜单相Save As窗口 12.1.2 Properties对话框 12.1.3 后继保存 12.1.4 打印到文件 12.2 小结 第13章 打开绘图文件 13.1 打开已存在的Visio绘图文件 13.1.1 在启动时打开一个已...

    SAP屠夫作品汇总

    7.3.3.4 Calculated Values as Reference 500 7.3.4 Integrated Planning 500 7.3.5 Planning Aids 500 7.3.6 Reorganization 500 7.4 Flows of Actual Values 500 7.4.1 Initial Steps 501 7.4.1.1 Define Number ...

    Visio 2000 技术大全

    12.1.1 File下拉菜单相Save As窗口 12.1.2 Properties对话框 12.1.3 后继保存 12.1.4 打印到文件 12.2 小结 第13章 打开绘图文件 13.1 打开已存在的Visio绘图文件 13.1.1 在启动时打开一...

    CISCO路由之排除路由故障

     路由翻动是指路由选择表中一条路由的不断删除和再插入。为了检查路由是否真的翻动,检查路由选择表并查看路由的寿命(age)。如果寿命被不断的重置为00:00:00,这就意味这路由正在翻动。  RIP有180S没有收到一...

    HibernateAPI中文版.chm

    13.1. 批量插入(Batch inserts) 13.2. 批量更新(Batch updates) 13.3. StatelessSession (无状态session)接口 13.4. DML(数据操作语言)风格的操作(DML-style operations) 14. HQL: Hibernate查询语言 14.1....

    IBM_DB2通用数据库SQL入门

    第二章 关系数据库的安全角色 21 2.1 数据库系统角色的划分 22 2.2 数据库的开发步骤 23 2.3 SYSADM的任务 25 2.4 DBADM的任务 25 2. 5 程序员的任务 26 2.6 操作员的任务 26 第三章 UDB的概念 26 3.1 建立表...

    实验选课系统数据库设计.doc

    下面针对本设计,即实验选课系统定义了几个视图: (1)功能:建立信息系学生的视图,并要求进行修改和插入操作时仍需要保证该视图 只有信息系的学生 代码: create view is_student as select sno,sname,age from ...

Global site tag (gtag.js) - Google Analytics