1.实现栈
public class StackDemo
{
private int[] arr;
private int i=-1;
public StackDemo(int size)
{
arr=new in[size];
}
//入栈
public void add(int value)
{
if(i==arr.length-1)
{
System.out.println("栈已满");
}
i++;
int date=arr[i];
return date;
}
//出栈
public void get()
{
if(i==-1)
{
System.out.println("栈已空");
}
System.out.println(arr[i]);
i--;
return;
}
测试
public class Test {
public static void main(String[] args)
{
StackDemo stack=new StackDemo(5);
stack.add(3);
stack.add(2);
stack.add(3);
stack.add(1);
stack.add(8);
System.out.println(stack.get());
System.out.println(stack.get());
System.out.println(stack.get());
System.out.println(stack.get());
System.out.println(stack.get());
}
}
输出
8
1
3
2
3
2.队列
public class Queue {
private int arr[];
private int c=0;
private int r=0;
public Queue(int size)
{
arr=new int[size];
}
//入队列
public void add(int value)
{
//判断是否已满
if(r-c==arr.length)
{
System.out.println("队列已满");
return;
}
arr[r%arr.length]=value;
r++;
}
//出队列
public void get()
{
if(r==c)
{
System.out.println("队列已空");
return;
}
System.out.println(arr[c%arr.length]);
c++;
}
}
测试
package 栈和队列;
public class Test1 {
public static void main(String[] args)
{
Queue queue=new Queue(5);
queue.add(4);
queue.add(1);
queue.add(3);
queue.add(5);
queue.add(6);
queue.get();
queue.get();
queue.get();
queue.get();
queue.get();
}
}
结果
4
1
3
5
6