首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

怎样实现以下栈的接口:(用java写)

发布网友 发布时间:2022-04-23 18:32

我来回答

3个回答

热心网友 时间:2023-10-13 02:03

import java.util.*;
interface Stack{
void push(int val);
Object pop();
int size();
int maxSize();
}

public class TestStack implements Stack {
int size;
int maxSize;
Object list[];
public TestStack()
{
size=0;
maxSize=10;
list=new Object[maxSize];
}
public void push(int obj)
{
if(size == maxSize)
{
maxSize=maxSize*2;
Object newObj[]=new Object[maxSize];
System.arraycopy(list, 0, newObj, 0, list.length);
list=newObj;
}
list[size]=obj;
size++;
}
public Object pop()
{
if(size!=0)
{
size--;
return list[size];
}
else throw new ArrayIndexOutOfBoundsException(size);
}
public int size()
{
return size;
}
public int maxSize()
{
return maxSize;
}
public static void main(String []args)
{
TestStack test=new TestStack();
//test.pop();此时出栈操作会报错 在此方法中抛出了 //ArrayIndexOutOfBoundsException
for(int i=0; i<12; i++)
test.push(i);
System.out.println(test.size());
System.out.println(test.maxSize());
for(int i=0; i<12; i++)
System.out.print(test.pop()+" ");
}
}

热心网友 时间:2023-10-13 02:03

Java中有实现了栈的类,比如LinkedList,你可以使用LinkedList来实现这个Stack 很简单。或者你可以自己使用数据结构来实现这个类,这个稍稍麻烦点。

热心网友 时间:2023-10-13 02:04

直接查看库函数源代码,参考着写就行了撒,

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com