package org.xx.demo2;
public class MyStack {
private int[] elements;
public MyStack(){
elements = new int[0];
}
public void push(int element){
int[] newarr = new int[elements.length+1];
for (int i = 0; i < elements.length; i++) {
newarr[i] = elements[i];
}
newarr[elements.length] = element;
elements = newarr;
}
public int pop(){
//判断栈是否为空
if (elements.length==0) {
throw new RuntimeException("Stack is empty");
}
//取出栈顶元素
int element = elements[elements.length-1];
//更新栈内元素
int[] newarr = new int[elements.length-1];
for (int i = 0; i < elements.length-1; i++) {
newarr[i] = elements[i];
}
elements = newarr;
return element;
}
//查看栈顶元素
public int peek(){
if (elements.length==0) {
throw new RuntimeException("Stack is empty");
}
return elements[elements.length-1];
}
//判断栈是否为空
public boolean isEmpty(){
return elements.length==0;
}
}
队列
package org.xx.demo2;publicclassMyQueue{privateint[] elements;publicMyQueue(){
elements =newint[0];}//入队publicvoidadd(int element){int[] newarr =newint[elements.length+1];for(int i =0; i < elements.length; i++){
newarr[i]= elements[i];}
newarr[elements.length]= element;
elements = newarr;}//出队publicintpoll(){int element = elements[0];int[] newarr =newint[elements.length-1];for(int i =0; i < newarr.length; i++){
newarr[i]= elements[i+1];}
elements = newarr;return element;}//判断队列是否为空publicbooleanisEmpty(){return elements.length==0;}}
二分查找package org.xx.demo1;public class BinarySearch { public static void main(String[] args) { int[] arr = new int[]{1,2,3,4,5,6,7,8}; //开始位置 int begin = 0; //结束位置 int end = arr.length-1;...