文档详情

巧用javascript数组实现数据结构栈与队列.doc

发布:2017-08-03约8.36千字共6页下载文档
文本预览下载声明
/** * @author xjsean * @alias stack.js */ /* * @brief: 定义堆栈类 * @remark: 实现堆栈基本功能 */ function Stack() { //存储元素数组 var aElement = new Array(); /* * @brief: 元素入栈 * @param: 入栈元素列表 * @return: 堆栈元素个数 * @remark: 1.Push方法参数可以多个 * 2.参数为空时返回-1 */ Stotype.Push = function (vElement) { if (arguments.length == 0) return -1; //元素入栈 for (var i = 0; i arguments.length; i++) { aElement.push(arguments[i]); } return aElement.length; } /* * @brief: 元素出栈 * @return: vElement * @remark: 当堆栈元素为空时,返回null */ Stotype.Pop = function () { if (aElement.length == 0) return null; else return aElement.pop(); } /* * @brief: 获取堆栈元素个数 * @return: 元素个数 */ Stotype.GetSize = function () { return aElement.length; } /* * @brief: 返回栈顶元素值 * @return: vElement * @remark: 若堆栈为空则返回null */ Stotype.GetTop = function () { if (aElement.length == 0) return null; else return aElement[aElement.length - 1]; } /* * @brief: 将堆栈置空 */ Stotype.MakeEmpty = function() { aElement.length = 0; } /* * @brief: 判断堆栈是否为空 * @return: 堆栈为空返回true,否则返回false */ Stotype.IsEmpty = function () { if (aElement.length == 0) return true; else return false; } /* * @brief: 将堆栈元素转化为字符串 * @return: 堆栈元素字符串 */ Stotype.toString = function () { var sResult = (aElement.reverse()).toString(); aElement.reverse() return sResult; } } 队列代码: /** * @author xjsean * @alias queue.js */ /* * @brief: 定义队列类 * @remark:实现队列基本功能 */ function Queue() { //存储元素数组 var aElement = new Array(); /* * @brief: 元素入队 * @param: vElement元素列表 * @return: 返回当前队列元素个数 * @remark: 1.EnQueue方法参数可以多个 * 2.参数为空时返回-1 */ Qtotype.EnQueue = function (vElement) { if (arguments.length == 0) return -1; //元素入队 for (var i = 0; i arguments.length; i++) { aElement.push(arguments[i]); } return aElement.length; } /* * @brief: 元素出队 * @return: vElement * @remark: 当队列元素为空时,返回null */ Qtotype.DeQueue = fu
显示全部
相似文档