TypeScript数据结构与算法(6)最基础的数据结构-链表栈-LinkedListStack

使用之前实现的链表来实现栈,源码如下:

import { Interface_Stack } from "../Interface_Stack";
import { DataStruct_LinkedList } from "./DataStruct_LinkedList";

/**
* Autor: Created by 李清风 on 2020-12-19.
* Desc: 链表栈,使用链表来实现一个栈,可以与数组栈相比较性能差异
*/
export class DataStruct_LinkedListStack<T> implements Interface_Stack<T> {

    private list: DataStruct_LinkedList<T>;

    public constructor() {
        this.list = new DataStruct_LinkedList<T>();
    }

    getSize(): number {
        return this.list.getSize();
    }

    isEmpty(): boolean {
        return this.list.isEmpty();
    }

    //入栈操作
    push(e: T): void {
        this.list.addFirst(e);//链表的队首也就是栈顶
    }

    //出栈
    pop(): T {
        return this.list.removeFirst();
    }

    peek(): T {
        return this.list.getFirst();
    }

}

 

posted @ 2021-01-21 15:53  CYNLINQ  阅读(150)  评论(0)    收藏  举报