下压堆栈Stack

来源:互联网 发布:互联网与大数据的关系 编辑:程序博客网 时间:2024/04/28 20:04

下压堆栈,链表实现:

  1. 可以处理任意类型的数据
  2. 所需的空间总是和集合的大小成正比
  3. 操作所需的时间总是和集合的大小无关
package com.vadonmo.exp.example;import java.util.Iterator;/** * 下压堆栈,链表实现 *  * @author vadon * */public class Stack<Item> implements Iterable<Item> {    // 栈顶    private Node first;    // 元素数量    private int N;    // 节点定义    private class Node {        Item item;        Node next;    }    public boolean isEmpty() {        return first == null;// or N == 0    }    public int size() {        return N;    }    public void push(Item item) {        Node oldfirst = first;        first = new Node();        first.item = item;        first.next = oldfirst;        N++;    }    public Item pop() {        Item item = first.item;        first = first.next;        N--;        return item;    }    @Override    public Iterator<Item> iterator() {        return new ListIterator();    }    private class ListIterator implements Iterator<Item> {        private Node current = first;        @Override        public boolean hasNext() {            return current != null;        }        @Override        public Item next() {            Item item = current.item;            current = current.next;            return item;        }        @Override        public void remove() {        }    }}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果id号忘记了怎么办 7icloud存储满了怎么办 苹果6icloud满了怎么办 电脑内存槽坏了怎么办 苹果7照片删不了怎么办 屋里太冷怎么办小妙招 天气太热,没空调怎么办 8岁儿童发烧39度怎么办 4岁儿童发烧39度怎么办 6岁儿童发烧39度怎么办 手机被晒得很烫怎么办 子宫肌瘤引起的贫血怎么办 月子没做好腰疼怎么办 狗狗屁股流血水怎么办 狗狗屁股在流血怎么办 劳累引起的腰疼怎么办 心口发闷堵的慌怎么办 刨腹产后肚子大怎么办 c盘空间不够用怎么办 敷面膜玩手机了怎么办 领导想辞退我该怎么办 领导要辞退我要怎么办 想辞职老板不批怎么办 辞职后工资不给怎么办 闻组词表示听见怎么办 染完头发后悔了怎么办 跟不好的人相处怎么办 销售时遇到客诉怎么办? 面对挑衅你的人怎么办 我的性格很拘谨怎么办 奶胀且有硬块怎么办 家里的鸡生病了怎么办 睡觉压的心脏疼怎么办 草图大师7很卡怎么办 空调不除霜怎么办格力 鸡蛋叫魂立住了怎么办 50岁工作不好找怎么办 微信好友拉黑我怎么办 我要离婚对方不离怎么办 我上身胖下身瘦怎么办 网贷逾期被起诉怎么办