| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > Flash特别应用 > 文章正文 用户登录
提供免费100GB的数
益网数据免费提供
从暴风数据看视频
《数据中国》网站
初次创业:选址请
初次创业:选址请
FLASH调用XML数据
使用report build
flash动态读取xml
Flash MX 2004 数

数据结构队列的实现           

数据结构队列的实现

作者:佚名 来源:不详 更新:2007-1-13 21:00:34 错误报告 我要投稿
  用法:
import fl.util.Queue;
var q:Queue = new Queue();
q.input(1);
q.input(2);
q.trace();
trace(q.output());
q.trace();
Queue class:
//******************************************************************************
//(FIFO) First In First Out
//OK
//*****************************************************************************
import fl.lang.ClsError;
class fl.util.Queue extends fl.Obj {
 private var data:Array;
 //数据
 private var left:Number;
 //MIN指针
 private var right:Number;
 //MAX指针
 public function get length() {
  //队列的长度
  return (right-left);
 }
 public function clone():Queue {
  return new Queue(data.slice(left, right));
 }
 public function Queue(arr:Array) {
  //构造函数 ,arr :一个1维数组
  left = 0;
  data = new Array();
  if (arr) {
   data = arr;
   right = arr.length;
   return;
  }
  right = 0;
 }
 public function search(key:Object):Boolean {
  for (var i = left; i<right; i++) {
   if (data[i] == key) {
    return true;
   }
  }
  return false;
 }
 //init
 public function init():Void {
  //初始化
  data.splice(0);
  left = 0;
  right = 0;
 }
 public function get isEmpty():Boolean {
  //判断是否为空
  if (left == right) {
   return (true);
  }
  return (false);
 }
 public function input(obj:Object):Void {
  //入队
  data.push(obj);
  right += 1;
 }
 public function output() {
  //出队
  if (!isEmpty) {
   left += 1;
   return (data[left-1]);
  }
  throw new ClsError("Queue", "The queue is empty");
 }
 public function getTop() {
  //返回顶端
  return (data[left]);
 }
 public function dispose():Void {
  //释放内存
  data.splice(0, left);
  right -= left;
  left = 0;
 }
 public function trace(Void):Void {
  //打印队列
  trace("Trace Queue-----");
  for (var i = left; i<right; i++) {
   trace("\tItem "+i+" : "+data[i]);
  }
  trace("/Trace Queue");
 }
}
ClsError class:

class fl.lang.ClsError extends Error {
 var cls:String;
 function ClsError(_cls:String, msg:String) {
  cls = _cls;
  message = msg;
 }
 function toString() {
  return (name+":\n\tclass : "+cls+"\n\tmessage : "+message);
 }
}

点击浏览该文件

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。