Javascript-模拟栈

    技术2023-12-26  107

    1.栈的基本操作:

    2.对栈基本操作的代码:

    // 栈的初始化 构造一个空栈 function InitStack() { var stack = []; return stack; } var a = InitStack(); console.log(a); // 判断栈是否为空--如果栈为空,则返回1,否则返回0 function isEmptyStack(stack) { if(stack.length===0) { return 1; }else{ return 0; } } var isEmpty = isEmptyStack(a); console.log("isEmpty:"+isEmpty); //入栈: 在栈stack的顶部擦汗人一个元素target,使得target为新的栈顶元素 function pushStack(stack,target) { stack.unshift(target); return stack; } pushStack(a,'k'); pushStack(a,'i'); console.log("a:"+a); //出栈:栈stack的顶部元素从栈顶删除。返回出栈元素 function popStack(stack) { return stack.pop(); } var popItem = popStack(a); console.log("popItem:"+popItem); console.log("a:"+a); //取栈顶元素: 返回栈stack的栈顶元素,且stack栈不会发生变化 function FrontStack(stack) { var front = stack.shift(); stack.unshift(front); return front; } pushStack(a,'u'); var front = FrontStack(a); console.log("front:"+front); console.log("a:"+a); // 销毁栈 :如果栈不为空,则销毁; function destroyStack(stack) { if(stack.length ===0) { return false; }else{ let len = stack.length; stack.splice(0,len); return stack; } } var stack = destroyStack(a); console.log("a:"+stack); console.log("a:"+a);

    3.运行结果:

     

     

    Processed: 0.015, SQL: 9