一、栈(用数组模拟)
1.1 栈的特点
元素先进后出,后进先出
1.2 入栈
将数据元素放入栈中
public void push(int ele) {
int len = a.length;
int array[] = new int[len + 1];
//for each与for i;当数组为空时,for each 不行。
for (int i = 0; i < len; i++) {
array[i] = a[i];
}
array[len] = ele;
a = array;
}
1.3 出栈
取出栈中的元素
public void pop() {
if (a.length <= 0) {
System.out.println("栈为空");
} else {
int len = a.length;
int[] array = new int[len - 1];
for (int i = 0; i < array.length; i++) {
array[i] = a[i];
}
a = array;
}
}
1.4 遍历栈中元素
依次输出栈中所有元素
public void show() {
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
}
1.5 取栈顶元素
public void get_top(){
System.out.println(a[a.length-1]);
}
二、测试
package Array;
public class text1 {
public static void main(String[] args) {
myStack stack = new myStack();
stack.push(23);
stack.push(34);
stack.push(32);
stack.pop();
System.out.println("栈中的元素有:");
stack.show();
System.out.println("栈顶元素为:");
stack.get_top();
}
}