zoukankan      html  css  js  c++  java
  • 自定义堆和栈

    package com.temp;

    import java.util.ArrayDeque;
    import java.util.Deque;

    public class text {



    /**
    * 使用队列实现堆栈
    * 1、弹
    * 2、压
    * 3、获取头
    * @author administrator
    *
    * @param <E>
    */
    public static class MyStack<E>{
    //容器
    private Deque<E> container=new ArrayDeque<E>();
    //容量
    private int cap;
    public MyStack(int cap) {
    super();
    this.cap=cap;
    }
    //压栈
    public boolean push(E e) {
    if(container.size()+1>cap) {
    return false;
    }
    return container.offer(e);
    }

    //弹栈
    public E pop() {
    return container.pollLast();
    }
    //获取
    public E peek() {
    return container.peekLast();
    }

    public int size() {
    return this.container.size();
    }




    }

    }

    package com.temp;

    import com.temp.text.MyStack;

    public class Dotext {

    /**
    * @param args
    *
    *
    *
    */
    public static void main(String[] args) {
    MyStack<String> back =new MyStack<String>(4);
    back.push("www.baidu.com");
    back.push("www.sina.com");
    back.push("www.bjdfx.com");
    back.push("www.jhde.com");
    System.out.println("大小:"+back.size());

    //遍历
    String item=null;
    while(null!=(item=back.pop())) {
    System.out.println(item);
    }

    //栈 是一个车厢 最大的容量是3M
    //堆 是一个火车 将内存中的零散空间组成的一张链式表格

    //数据基本类型就是储存在栈里面的

    //数据存储在堆里面

    //例如:

    //String str=new String ("123");

    //str就在栈里面

    //123在堆里面



    }
    }

  • 相关阅读:
    Date计算人活了多少天
    微信红包平均分法
    math practise
    Array sort
    static memory management
    java数组中的选择排序
    java数组中的冒泡排序
    数组联系2 模拟酒店系统
    数组练习1(模拟栈)
    二维数组
  • 原文地址:https://www.cnblogs.com/hyfl/p/10892283.html
Copyright © 2011-2022 走看看