public class Stack2 {
int top;
int [] stack;
int size;
int [] secondSize;
public Stack2(int s) {
size=s;
stack=new int[size];
top=-1;
}
public void check(){
System.out.println("Sprawdzam!");
double d=(double)top/(double)size;
System.out.println(d);
if(d>0.75){
System.out.println("powyżej!");
stack = new int[size*2];
for(int i=0;i<top;i++)
{
secondSize[i]=stack[i];
}
for(int i=0;i<top;i++){
stack[i]=secondSize[i];
}
}
}
public void push(int j){
check();
stack[++top]=j;
}
public int pop(){
return stack[top--];
}
public int peek(){
return stack[top];
}
public boolean isEmpty(){
return (top==-1);
}
public boolean isFull(){
return(top==size);
}
public static void main(String[] args) {
Stack2 st=new Stack2(10);
System.out.println(st.top);
System.out.println(st.size);
st.push(12);
st.push(12);
st.push(12);
st.push(12);
st.push(12);
st.push(12);
st.push(12);
st.push(12);
st.push(12);
}
}
Program ma zwiększać rozmiar stosu jeśli ten zostanie wypełniony w ponad 75% ale coś nie pyka, proszę o pomoc :)