1 package demo2;
2
3 public class MyStack {
4
5 //栈的底层我们使用数组来存储数据
6 int[] elements;
7
8 public MyStack() {
9 elements = new int[0];
10 }
11
12 //压入元素
13 public void push(int element) {
14 // 创建一个新的数组
15 int[] newArr = new int[elements.length + 1];
16 // 把原数组中的元素复制到新数组中
17 for (int i = 0; i < elements.length; i++) {
18 newArr[i] = elements[i];
19 }
20 // 把添加的元素放入新数组中
21 newArr[elements.length] = element;
22 // 使用新数组替换旧数组
23 elements = newArr;
24 }
25
26 //取出栈顶元素
27 public int pop() {
28 //栈中没有元素
29 if(elements.length==0) {
30 throw new RuntimeException("stack is empty");
31 }
32 //取出数组的最后一个元素
33 int element = elements[elements.length-1];
34 //创建一个新的数组
35 int[] newArr = new int[elements.length-1];
36 //原数组中除了最后一个元素的其它元素都放入新的数组中
37 for(int i=0;i<elements.length-1;i++) {
38 newArr[i]=elements[i];
39 }
40 //替换数组
41 elements=newArr;
42 //返回栈顶元素
43 return element;
44 }
45
46 //查看栈顶元素
47 public int peek() {
48 //栈中没有元素
49 if(elements.length==0) {
50 throw new RuntimeException("stack is empty");
51 }
52 return elements[elements.length-1];
53 }
54
55 //判断栈是否为空
56 public boolean isEmpty() {
57 return elements.length==0;
58 }
59
60 }
1 package demo2;
2
3 import javax.swing.text.DefaultStyledDocument.ElementSpec;
4
5 public class MyQueue {
6
7 int[] elements;
8
9 public MyQueue() {
10 elements=new int[0];
11 }
12
13 //入队
14 public void add(int element) {
15 // 创建一个新的数组
16 int[] newArr = new int[elements.length + 1];
17 // 把原数组中的元素复制到新数组中
18 for (int i = 0; i < elements.length; i++) {
19 newArr[i] = elements[i];
20 }
21 // 把添加的元素放入新数组中
22 newArr[elements.length] = element;
23 // 使用新数组替换旧数组
24 elements = newArr;
25 }
26
27 //出队
28 public int poll() {
29 //把数组中的第0个元素取出来
30 int element = elements[0];
31 //创建一个新的数组
32 int[] newArr = new int[elements.length-1];
33 //复制原数组中的元素到新数组中
34 for(int i=0;i<newArr.length;i++) {
35 newArr[i]=elements[i+1];
36 }
37 //替换数组
38 elements=newArr;
39 return element;
40 }
41
42 //判断队列是否为空
43 public boolean isEmpty() {
44 return elements.length==0;
45 }
46
47 }
原文:https://www.cnblogs.com/amazingyr/p/12490293.html