日期:2014-05-16  浏览次数:20362 次

javascript中栈的数据结构实现
function Inistack(stack){ //初始化一个线性堆栈
stack=new Array();
return stack;
}

function Empty(stack){ //判断一个线性堆栈是否为空
var returnValue=false;
if(stack.length==0) returnValue=true;
return returnValue;
}

function Push(stack,x){ //压入栈操作
var returnValue=0;
var stackLength=stack.length;
stack.length=stack.length+1; //增加元素的个数
stack[stackLength]=x; //将新值放入
return stalength; //返回最新元素个数
}

function Pop(stack){ //出栈操作
var returnValue=NULL;
var stackLength=stack.length;
if(stackLength>=1){ //如果不是最后一个元素
returnValue=stack[stackLength-1]; //返回该位置的元素值
stack.length=stackLength-1; //减少元素的个数
}
return returnValue;
}

function Get(stack){ //获得栈顶元素
var returnValue=NULL;
var stackLength=stack.length;
returnValue=stack[stackLength]; //直接返回顶部元素即可
return returnValue;
}

function Clear(stack){ //清空堆栈
stack.length=0; //将元素的个数清零即可
return true;
}

function Current_size(stack){ //获得线性堆栈的当前大小
return stack.length;
}