JAVA学习代码——栈

package other;

	//栈是一种后进先出的数据结构

	public class StackOfIntegers {
			private int[]elements;   //用数组存放栈的元素
			private int size=0;
			public static final int DEFAULT_CAPACITY=10;
			
			public StackOfIntegers(){
				this(DEFAULT_CAPACITY);//用this调用构造方法
			}
			public StackOfIntegers(int capacity){
				elements=new int[capacity];
			}
			//下面是进栈方法
			public void push(int value){
				if(size>=elements.length){
					//创建一个长度为原数组2倍数组
					int[]temp=new int[elements.length*2];
					//将原来数组元素复制到新数组中
					System.arraycopy(elements,0,temp,0,elements.length);
					elements=temp;
				}
				elements[size++]=value;
			}
			//出栈方法
			public int pop(){
				return elements[--size];
			}
			//返回栈顶元素
			public int peek(){
				return elements[size-1];
			}
			//判断空的方法
			public boolean empty(){
				return size==0;
			}
			public int getSize(){
				return size;
			}
		}
	/*该栈使用数组实现,元素存储在名为elements的整数数组中,创建栈的同时创建一个数组对
	 * 象,使用默认方法构建的栈包含10个元素,也可以使用带参数构造方法指定数组初始大小。
	 * 变量size记录栈中元素个数,下标为size-1的元素为栈顶元素,如果栈空,size值为0.*/

	/*StackOfIntegers类实现了栈的常用方法,其中包括push方法将一个整型存入栈中,pop方法
	 * 元素出栈方法,peek方法返回栈顶元素但不出栈,empty方法返回栈是否为空;getSize方法
	 * 返回栈中元素个数。*/



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值