栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

一个基本的栈java实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一个基本的栈java实现

public class ResizingArrayStack implements Iterable {
	private int N;

	private Item[] a = (Item[]) new Object[10];

	public Item pop() {
		Item item = a[--N];
		a[N] = null;
		if (N > 0 && N == a.length / 4) {
			resize(a.length / 2);
		}
		return item;
	}

	public void push(Item item) {
		if (N == a.length) {
			resize(a.length * 2);
		}
		a[N++] = item;
	}

	private void resize(int newSize) {
		Item[] temp = (Item[]) new Object[newSize];
		for (int i = 0; i < N; i++) {
			temp[i] = a[i];
		}
		a = temp;
	}

	public Boolean isEmpty() {
		return N == 0;
	}

	public int size() {
		return N;
	}

	@Override
	public Iterator iterator() {
		return new ReverseArrayIterator();
	}

	private class ReverseArrayIterator implements Iterator {
		private int i;

		@Override
		public boolean hasNext() {
			return i > 0;
		}

		@Override
		public void remove() {
			
		}

		@Override
		public Item next() {
			return a[--i];
		}
	}


}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/841522.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号