package 集合.Stack;
import java.util.Arrays;
import java.util.EmptyStackException;
import java.util.Vector;
public class MyStack {
//底層數(shù)組默認(rèn)長(zhǎng)度為10
private Object[] myStack = new Object[10];
//size
private int size = 0;
public MyStack() {
}
//push
public Object push(Object obj) {
//先判斷是否需要擴(kuò)容
if(size>=myStack.length){
myStack = Arrays.copyOf(myStack,myStack.length*2);
}
//添加元素
myStack[size++] = obj;
//size++;
return obj;
}
//pop彈出棧頂元素
public Object pop() {
Object obj = peek();
//忽略棧頂元素
size--;
return obj;
}
//peek查找棧頂元素
public Object peek() {
if(empty()){
throw new EmptyStackException();
}
return myStack[size - 1];
}
//empty判斷棧是否為空
public boolean empty() {
return size == 0;
}
//search查找棧中第一出線(xiàn)的元素
public int search(Object obj) {
for(int i = size -1,j=1;i>=0;i--,j++){
if(myStack[i] == obj||myStack[i]!=null&&myStack[i].equals(obj)){
return j;
}
}
return -1;
}
@Override
public String toString() {
Object[] strstack = new Object[size];
System.arraycopy(myStack,0,strstack,0,size);
for(int i=size-1;i>=size/2;i--){
Object temp = strstack[i];
strstack[i] = strstack[size-i-1];
strstack[size-i-1] = temp;
}
return Arrays.toString(strstack);
}
}
創(chuàng)新互聯(lián)www.cdcxhl.cn,專(zhuān)業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買(mǎi)多久送多久。