用java实现栈,并实现min方法
来源:互联网 发布:手机淘宝管理评价在哪 编辑:程序博客网 时间:2024/06/11 21:22
//主要思想是通过一个数组作为一个栈的存储结构来实现栈的功能public class StackOfInteger { private int[] elements; private int size;//栈中元素的个数,elements.length是数组长度即栈的大小capacity public static final int DEFAULTY_CAPACITY=16; public StackOfInteger(){ this(DEFAULTY_CAPACITY); } public StackOfInteger(int capacity){ elements=new int[capacity];//创建一个固定容量的数组 } public boolean isEmpty(){//if(size==0) return true;//return size==0; //elements肯定不为空啊// if(elements==null)//这是我之前写的,错误地方是对这个栈的实现方法不清楚// return true; //以为elements.length就是栈中元素真正的长度理解// else return false;//不够透彻 return size==0; } public int peek(){ return elements[size-1]; } public void push(int value){ //如果数组elements的长度不够存储 则扩大两倍 再push(value) if(size>=elements.length){ int[] temp=new int[elements.length*2]; //然后将当前数组赋值给新数组temp System.arraycopy(elements,0,temp,0,elements.length); //再赋给elements elements=temp; } // elements[size++]=value; } public int pop(){ return elements[--size]; } public int getSize(){ return size; } public int min(){ /* * int[] e=elements.clone(); * //这是我第一次写min函数的时候用的复制的数组方法,结果 * 输出一直为0,后来才明白定义的栈类是数组,定义的capacity * 才是数组的长度,而size才是真正的栈中元素的长度。 * * 区别一下与下面定义数组e的区别 */ int[] e=new int[size]; for(int i=0;i<size;i++){ e[i]=elements[i]; } int min=e[0]; for(int i=0;i<e.length;i++){ if(min>e[i]) min=e[i]; } return min; }}
学习心得:
*1.用数组的方式构建一个栈。
*2.实际数组的长度length是栈的容量,栈元素的个数应该是push进去的size
0 0
- 用java实现栈,并实现min方法
- 包含min函数的栈 java实现
- 包含min函数的栈JAVA实现
- 包含min函数的栈java实现
- min栈实现
- Min Stack (JAVA实现)
- Min-Min算法实现
- 含有max或min方法的栈实现
- 实现一个带有取最小值min方法的栈
- 设计包含min函数的栈 java实现
- 包含min函数的栈(Java实现)
- 剑指Offer: (Java实现) 包含min函数的栈
- 实现min函数的栈
- Java与C++中多态的实现方法,并举例实现
- 实现包含min函数的栈
- Stack_Queue 栈实现min函数 @CareerCup
- Min Stack 包含最小值的栈实现
- Min Stack 实现一个最小栈
- 位排序
- size_t 类型
- OpenCV linux 安装
- 黑马程序员——Java基础——反射
- eclipse常用快捷键
- 用java实现栈,并实现min方法
- 对讲机扫盲的基本常识
- linux网络编程之socket:最简单的回射客户/服务器程序、time_wait 状态
- 1019. 数字黑洞 (20)
- C++中 std::vector用法
- Android TextView自动换行文字排版参差不齐的原因
- Spark初体验(2)--WordCount详解
- 推荐系统(三) —— 利用用户行为数据 —— 隐语义模型
- 扫地僧C++视频学习记录