美文网首页
栈类的实现

栈类的实现

作者: 诲人不倦_677f | 来源:发表于2018-10-11 00:14 被阅读0次

栈:栈是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。

结构:由栈顶,栈低以及元素组成。

方法:压入和删除。

特征:只能从栈顶操作,遵循先进后出原则。

实现方法:通过数组或者链表方式。

链表方式:元素由元素内容和指向下一节点组成。

依据链表元素特性新建一个由元素和指向下一节点组成的数据类型。

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';

}

}

测试:

相关文章

网友评论

      本文标题:栈类的实现

      本文链接:https://www.haomeiwen.com/subject/nkbdaftx.html