3、算法-定容栈泛型

代码

package base.第一章.背包_队列_和栈.数组实现定容栈.定容栈;

/**
 * Created by MK on 2018/7/24.
 * public class FiexedCapacityStackOfItem<Item>
 * FiexedCapacityStackOfItem(int cap)
 * void push(Item item)
 * Item pop()
 * boolean isEmpty()
 * int size()
 */
public class 定容栈_泛型<Item> {

    private Item[] a;
    private int N;

    //创建泛型数组在Java中是不可以实现的,因此我们要使用,类型转换
    定容栈_泛型(int cap) {
        a = (Item[]) new Object[cap];
    }

    public int Size(){ return N; }

    public void push(Item item){
        a[N++]=item;
    }
    public Item pop(){
        return a[--N];
    }

}

定容栈泛型测试

package base.第一章.背包_队列_和栈.数组实现定容栈.定容栈;

import edu.princeton.cs.algs4.StdOut;

/**
 * Created by MK on 2018/7/24.
 * 测试
 */
public class 定容栈_泛型测试 {
    public static void main(String[] args) throws InterruptedException {

        //定容栈的容量这里我设置的是100
        定容栈_泛型 s = new 定容栈_泛型(5);

        //压入栈中
        s.push(1);
        s.push("2");
        s.push(3);
        s.push("a");



        //将数据弹出,因为是栈所以是后进先出的原理
        /*
         * 这里为什么弹出的是d
         *  理由:
         *      程序是从上往下执行的,当我执行到.push(d),的时候是最后一次执行
         *      因此,最后进入到栈中的就是d
         *
         * */
        StdOut.println(s.pop());
        StdOut.println(s.pop());
        StdOut.println(s.Size());


    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值