栈:栈是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。结构:由栈顶,栈低以及元素组成。方法:压入和删除。特征:只能从栈顶操作,遵循先进后出原则。实现方法:通过数组或者链表方式。链表方式:元素由元素内容和指向下一节点组成。依据链表元素特性新建一个由元素和指向下一节点组成的数据类型。function node(element) { this.element=element;this.next=null;}依据栈特性新建一个私有变量为head 和length以及方法为apush和apopd的方法。function list() { this.head=null;this.length=null;this.apush=apush;this.apop=apop;} 压入方法:function apush(node) { var a=this.head;if(a){// this.head.next=node;// this.head=node; node.next=this.head;this.head=node;}else {this.head=node;}this.length+=1;} 删除方法:function apop(node) {// this.head=this.head.next;// this.length-=1; var a=this.head;if(a){if(a==node){this.head=this.head.next;this.length-=1;}else {return false;}}else {return 'a null list';}}测试: