【JAVA】写一个类,实现栈这种数据结构,要求底层数据使用ArrayList存储。
4个回答
展开全部
实现了栈的基本功能.写的比较仓促,没加安全性的检查.
import java.util.ArrayList;
public class Stack {
private ArrayList stack;
public Stack()
{
stack = new ArrayList();
}
public void clear()
{
stack.clear();
}
public int getTop()
{
int temp = (Integer)stack.get(stack.size()-1);
return temp;
}
public void push(int ele)
{
stack.add(ele);
}
public int pop()
{
int temp = (Integer)stack.get(stack.size()-1);
stack.remove(stack.size()-1);
return temp;
}
public int getSize()
{
return stack.size();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Stack test = new Stack();
test.push(5);
test.push(6);
System.out.println(test.pop());
System.out.println(test.getTop());
System.out.println(test.pop());
test.clear();
System.out.println(test.getSize());
}
}
import java.util.ArrayList;
public class Stack {
private ArrayList stack;
public Stack()
{
stack = new ArrayList();
}
public void clear()
{
stack.clear();
}
public int getTop()
{
int temp = (Integer)stack.get(stack.size()-1);
return temp;
}
public void push(int ele)
{
stack.add(ele);
}
public int pop()
{
int temp = (Integer)stack.get(stack.size()-1);
stack.remove(stack.size()-1);
return temp;
}
public int getSize()
{
return stack.size();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Stack test = new Stack();
test.push(5);
test.push(6);
System.out.println(test.pop());
System.out.println(test.getTop());
System.out.println(test.pop());
test.clear();
System.out.println(test.getSize());
}
}
展开全部
栈的特点的就是后进先出,那么你就linkedList,如果要添加一个元素,就把他存到最后一个位置,要取一个元素,也从最后开始取就可以实现了,只有linkedList才有存,取,删最后一个元素这个方法,所以要要用linkedList
代码如下:
public class StudyTest {
private LinkedList<String> list = new LinkedList<String>();
public String get() {
return list.getLast();
}
public void add(String str) {
this.list.addLast(str);
}
public void remove(){
this.list.removeLast();
}
}
代码如下:
public class StudyTest {
private LinkedList<String> list = new LinkedList<String>();
public String get() {
return list.getLast();
}
public void add(String str) {
this.list.addLast(str);
}
public void remove(){
this.list.removeLast();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
栈肯定用LinkedList比较好。
这是thinking in java 一书中的方法。
import java.util.*;
public class StudyL{
private LinkedList list = new LinkedList();
public void push(Object v){list.addFirst(v);}
public Object top(){return list.getFirst();}
public Object pop(){return list.removeFirst();}
这是thinking in java 一书中的方法。
import java.util.*;
public class StudyL{
private LinkedList list = new LinkedList();
public void push(Object v){list.addFirst(v);}
public Object top(){return list.getFirst();}
public Object pop(){return list.removeFirst();}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-07-17
展开全部
既然是底层实现,那我们就没必要在乎低层用的到底是什么数据结构了,可以是ArrayList,linkedList甚至是数组.当然是在不考虑效率的前提下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询