- 浏览: 1449713 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (564)
- 算法 (7)
- 流金岁月 (1)
- Javascript (30)
- actionscript (108)
- as3.0 game (14)
- flex (84)
- fms2 (27)
- 正则表达式 (7)
- 开源组件代码(as3.0) (1)
- Pv3d (13)
- Cairngorm (4)
- vbs (54)
- VB程序设计 (26)
- 计算机应用与维护 (4)
- 职场实用穿衣技巧 (3)
- 历史风云 (15)
- 淡泊明志,宁静致远 (12)
- 情感 (26)
- 杂谈 (41)
- 越南风 (14)
- DirectX (9)
- Dev-cpp (11)
- 回望百年 (2)
- 建站经验 (2)
- Python (24)
- 网络赚钱 (4)
- php (2)
- html (1)
- ob0短址网 (1)
- ob0.cn (1)
- wordpress (1)
- pandas logistic (1)
- haxe (1)
- opencv (1)
- 微信小程序 (3)
- vue (3)
- Flutter (1)
最新评论
-
GGGGeek:
第一个函数滚动监听不起作用,onPageScroll可以
微信小程序--搜索框滚动到顶部时悬浮 -
naomibyron:
解决办法:工具 -> 编译选项 -> 编译器 ...
dev-c++中编译含WINSOCK的代码出现错误的解决方法 -
haichuan11:
这个…… 代码不全真的是让人很憋屈的感觉啊
actionScript 3.0 图片裁剪及旋转 -
chenyw101:
老兄能留个QQ号吗?具体的我有些东西想请教下你
用VB制作网站登陆器 -
yantao1943:
貌似有点问题,只派发一次事件啊
使用ActionScript 2.0或ActionScript 3.0处理音频文件的提示点(cue
数据结构中的双向链表,用AS3写成了类,很有用的东西,可能有些非程序出身的flasher 并不了解的数据结构。如果把数组理解为把数据排成队,那么链表就是手拉手的排队,不过每个人只知道自己,还有自己的前面与后面,如果用类的思想来理解就是:有三个数据属性的对象:1、自己 2、自己后面的人 3、自己前面的人 和对这些属性进行操作的方法。希望对大家有用 这样的结构在频繁 删除和插入数据时效率会比数组高很多。
package {
public class DoubleNode {
//双向链表, double list node
private var _data:*;
private var _prev:DoubleNode;
private var _next:DoubleNode;
//标志是否已在链表中
private var _hasIN:Boolean=false;
//@initData:结点初始值, the node’ data;
public function DoubleNode(initData:*) {
_data = initData;
_prev = _next = null;
}
//this node has in link
public function get hasIN():Boolean {
return _hasIN;
}
public function set hasIN(boolean:Boolean):void {
_hasIN=boolean;
}
//后继节点
public function get next():DoubleNode {
return _next;
}
//前驱节点
public function get prev():DoubleNode {
return _prev;
}
//设定后继
public function set next(newNode:DoubleNode):void {
_next = newNode;
}
//设定前驱
public function set prev(newNode:DoubleNode):void {
_prev = newNode;
}
//取得当前结点数据, return the node’s data
public function get nodeData():* {
return _data;
}
//设置当前结点数据, set the node‘s data
public function set nodeData(newData:*):void {
_data = newData;
}
//在当前节点后插入结点, append a new node after current node
public function addAfter(newNode:DoubleNode):void {
newNode.next = _next;
newNode.prev = this;
if (_next!=null) {
_next.prev = newNode;
}
_next = newNode;
newNode.hasIN=true;
}
//在当前节点前插入结点, append a new node before current node
public function addBefore(newNode:DoubleNode):void {
newNode.next = this;
newNode.prev = _prev;
if (_prev!=null) {
_prev.next = newNode;
}
_prev = newNode;
newNode.hasIN=true;
}
//返回当前数组长度, get the length of the node
public function get nodeLength():uint {
var cursor:DoubleNode;
var length:uint = 1;
for (cursor = _prev; cursor != null; cursor = cursor.prev) {
length++;
}
return length;
}
//从双向链表中脱离。 get out of link to the double-node
public function unlink():void {
if (_prev!=null) {
_prev.next = _next;
}
if (_next!=null) {
_next.prev = _prev;
}
_next = _prev = null;
_hasIN=false;
}
//描述当前double-node, rerurn a string represent the double-node
public function toString():String {
return "[DoubleNode, data=" + _data + "]";
}
}
}
发表评论
-
haXe是什么?
2016-01-04 10:50 1072haXe是什么? haXe是一种编程语言,官方网站在 ... -
用EA类图生成AS3代码
2008-10-15 16:18 2721EA(Enterprise Architect)是支持多种流 ... -
变形实例-source
2008-10-15 12:46 1549涂抹原理 橡皮擦原理 import flash.geom.P ... -
actionScript 3.0 图片裁剪及旋转
2008-10-10 12:54 5955package com.wdxc { /** ... -
Flash(AS3)读取Excel文件
2008-10-09 13:29 5188var excelXml:XML; var loader=ne ... -
AS3 Loading的制作方法
2008-10-09 13:28 6078AS2的时候做LOADING有很多种方法,做起来也得心应手可是 ... -
让"Flash" 写文件(AS3)
2008-09-11 16:23 1801目前,出于安全考虑Flash不支持写文件的操作,在AS3的A ... -
AS3 中的 拖动 及 碰撞 检测
2008-09-11 16:11 2942没有press和release事件 hitTest()被分尸 ... -
As和js通信问题完全解析(解决addcallback失效的问题)
2008-09-11 16:10 3658as和js通信最早用的是fscommand,这个我就不说了,老 ... -
Flash CS3制作Fla形式的组件
2008-06-16 14:45 1393本文为大家介绍如何制作Flash CS3中的[*.fla]形 ... -
AS3图像处理之剪裁、动态选取
2008-06-15 23:25 2257和师傅写C#写的思维混乱,方法变量几乎第一反应就是大写,习惯都 ... -
从界面入手 划分类
2008-06-15 19:25 1290如何将一个项目细化成各个类呢? 1 从一个项目的界面入手,按照 ... -
AS3-DisplayEffect组件
2008-06-14 20:40 2082[AS3]DisplayEffect组件【组件版本】:0.5【 ... -
KTooltip 工具提示组件
2008-06-14 20:38 1039发布一个小工具KTooltip 。这是0.9beta版,出发日 ... -
AS3.0写的一个滚动条【缓动效果】
2008-06-13 16:10 6395package { import flash.d ... -
一个简单的文本滚动条类 as3
2008-06-13 16:04 4397最近一直做会议与AS3有关项目今天花了点时间写了一个可以选择套 ... -
自定义滚动条类
2008-06-13 16:01 2092在平常的开发中,经常需要用到滚动条,今天将滚动条类整理了下,有 ... -
AS3加载机制
2008-06-13 15:03 2217摸了好一阵子,才弄明白AS3.0的加载机制.还是坚持自己的原则 ... -
写了一个Flash的Transition
2008-06-11 10:36 1751写了一个Flash的Transition package { ... -
JavaScript与ActionScript函数相互调用
2008-06-06 15:07 22811、在JavaScript中调用Flex( ...
相关推荐
在C++编程中,双向链表是一种非常重要的数据结构,它允许在列表的任一位置进行插入和删除操作,而不必像数组那样依赖于索引。在这个“支持类模版的C++双向链表”中,我们将探讨如何利用C++的模板特性来实现一个灵活...
3. 插入节点:在双向链表中插入节点有两种情况:在头部插入和在尾部插入。在头部插入时,新节点的`next`指针应指向当前头节点,而原头节点的`prev`指针则应指向新节点。在尾部插入时,需要找到当前尾节点,新节点的`...
### Linux内核双向链表简单分析 #### 链表数据结构简介 链表作为一种基本且重要的数据结构,在操作系统及各种软件系统中扮演着至关重要的角色。尤其在Linux内核中,链表更是广泛应用于内存管理、进程调度、文件...
双向链表的操作问题 Time Limit: 1000MS Memory Limit: 10000KB Submissions: 111 Accepted: 41 Description 建立一个长度为n的带头结点的双向链表,使得该链表中的数据元素递增有序排列。(必须使用双向链表完成...
3. 访问操作:访问双向链表中的特定节点,可以通过从表头开始或表尾开始遍历,直到找到目标节点。由于双向链表可以双向遍历,因此访问速度较快。 4. 查找操作:在双向链表中查找特定元素,可以采用顺序查找,从表头...
本话题主要探讨两种常用的数据结构——单链表和双向链表在Java中的实现,以及相关的操作,如在头部添加节点、在尾部添加节点、遍历、逆置和删除。 首先,我们来理解单链表和双向链表的基本概念。单链表是一种线性...
### 数据结构源代码之双向链表 #### 概述 本文档主要介绍如何通过C语言实现双向链表的基本操作。继单链表之后,双向链表作为一种更灵活的数据结构,支持从前向后以及从后向前的遍历。双向链表在每个节点中除了包含...
在这个特定的项目中,“C++双向链表统计文章单词出现频率”是一个涉及数据结构和算法的应用,目标是实现一个程序来分析文本文件,计算并显示文章中每个单词出现的次数。双向链表作为数据结构的核心,其特点是每个...
双向链表是一种高级数据结构,它在计算机科学中被广泛应用于各种算法和程序设计中。与单链表相比,双向链表的主要特点是每个节点不仅包含指向下一个节点的指针,还包含一个指向前一个节点的指针。这种设计使得双向...
双向链表是一种特殊的数据结构,它在计算机程序设计中扮演着重要角色,特别是在C++这样的编程语言中。本节将深入探讨双向链表的概念、其结构、操作以及C++中的实现。 双向链表与单链表不同,它允许每个节点不仅有一...
在这个项目中,我们讨论的是如何在STM32F103上实现一个双向链表的数据结构。双向链表是一种特殊的数据结构,它允许我们在列表中的节点之间进行前向和后向的移动,这在处理动态数据集合时非常有用。 首先,我们要...
3. **遍历操作**:虽然遍历链表本身不需要锁定,但如果遍历过程中尝试修改链表(例如删除节点),则必须进行同步,确保遍历过程中链表不会被其他线程修改。 4. **条件变量**:在某些情况下,可能需要等待特定条件...
### C++经典算法:双向链表 在计算机科学领域中,数据结构是极其重要的基础知识之一。其中链表作为一种常见的线性表实现方式,在各种应用场景中都有广泛的应用。本篇文章将根据给定的代码片段深入探讨双向链表的...
双向链表类定义及测试文件 对应于数据机构与算法分析(c++版)第三版或第二版 Clifford A.Shaffer 重庆大学使用教材
3. **乘法算法**:我们需要设计一个算法来实现两个链表表示的大数相乘。可以采用类似于笔算乘法的方法,但需要考虑到链表的特性。这个算法可以分为以下几个步骤: - 分别遍历两个链表,记录当前遍历到的位数。 - ...
3. 删除操作:根据给定的值删除链表中的第一个匹配节点。删除节点时需要调整相邻节点的指针。 ```cpp void remove(int value) { Node* current = head; while (current) { if (current->data == value) { if ...
双向链表是一种重要的线性数据结构,与单链表不同,它在每个节点中都包含两个指针,一个指向前一个节点,另一个指向后一个节点。这种设计允许双向遍历,使得插入和删除操作更加灵活。在本主题中,我们将深入探讨如何...
在编程领域,双向链表是一种数据结构,它允许在列表中的元素之间进行前向和后向的导航。这种数据结构在处理需要频繁插入、删除或遍历操作的问题时特别有用。而“n的阶乘”是数学概念,表示1到n的所有整数的乘积,记...
定义、实现并测试一个双向链表结点类DNode。...编写主程序:输入不少于3组x、y整数,分别利用左侧和右侧插入结点函数组织数据为双向链表,测试输出链表中每个结点的左侧和右侧相邻节点内容,测试对左右侧结点的删除。