受限列表 队列与栈

        队列与栈为受限列表,队列为先入先出型列表,而栈为先入后出型列表,有关列表的实现可以查看 http://my.oschina.net/u/2011113/blog/514713 。

        结构图为

152622_9M6m_2011113.jpg

Queue实现了IQueue接口,其代码如下所示:

package tunie.struct.group
{
	/**
	 * Tunie
	 * Oct 9, 2015 3:09:59 PM
	 * <b>Queue主要功能如下</b>
	 * <li>队列
	 */
	public class Queue extends Group implements IGroup, IQueue
	{
		protected var _list:IList;
		
		public function Queue()
		{
			_list = new ArrayList();
		}
		
		public function inQueue(value:*):void
		{
			_list.add(value);
		}
		
		public function outQueue():*
		{
			return _list.removeAt(0);
		}
		
		public function frontQueue():*
		{
			return _list.obtain(0);
		}
		
		public function obtain(index:int):*
		{
			return _list.obtain(index);
		}
		
		override public function clear():void
		{
			_list.clear();
		}
		
		override public function contain(value:*):Boolean
		{
			return _list.contain(value);
		}
		
		override public function get isEmpty():Boolean
		{
			return _list.isEmpty;
		}
		
		override public function get size():int
		{
			return _list.size;
		}
		
		
	}
}

其接口定义如下:

package tunie.struct.group
{
	/**
	 * Tunie
	 * Oct 9, 2015 2:51:37 PM
	 * <b>IQueue主要功能如下</b>
	 * <li>队列
	 */
	public interface IQueue extends IGroup
	{
		/**
		 * 入队(队尾入),队发生变化
		 * @param value
		 */
		function inQueue(value:*):void;
		/**
		 * 出队(队头出),队发生变化
		 * @return 
		 */
		function outQueue():*;
		/**
		 * 读队头,队不发生变化
		 * @return 
		 */
		function frontQueue():*;
		/**
		 * 根据队列索引取得值 
		 * @param index
		 * @return 
		 */
		function obtain(index:int):*;
	}
}

再贴出IStack的定义

package tunie.struct.group
{
	/**
	 * Tunie
	 * Oct 9, 2015 3:13:32 PM
	 * <b>IStack主要功能如下</b>
	 * <li>栈
	 */
	public interface IStack extends IGroup
	{
		/**
		 * 入栈,栈发生变化
		 * @param value
		 */
		function push(value:*):void;
		/**
		 * 出栈,栈发生变化
		 * @return 
		 */
		function pop():*;
		/**
		* 根据队列索引取得值 
		* @param index
		* @return 
		*/
		function obtain(index:int):*;
	}
}

实现跟Queue基本一样,就不贴出代码了。

转载于:https://my.oschina.net/u/2011113/blog/514818

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值