public class QueueToStack {
private QueueX datas2;
private QueueX datas1;
public QueueToStack(int size){
this.datas1 = new QueueX(size);
this.datas2 = new QueueX(size);
}
public void push(Long data){
if (!datas1.isEmpty()) {
datas1.insert(data);
} else if(!datas2.isEmpty()){
datas2.insert(data);
} else {
datas1.insert(data);
}
}
public Long pop(){
if (!datas1.isEmpty()) {
int d1S = datas1.getSize();
for (int i = 0; i < d1S-1; i++) {
datas2.insert(datas1.remove());
}
return (Long)datas1.remove();
} else {
int d2S = datas2.getSize();
for (int i = 0; i < d2S-1; i++) {
datas1.insert(datas2.remove());
}
return (Long)datas2.remove();
}
}
}
private QueueX datas2;
private QueueX datas1;
public QueueToStack(int size){
this.datas1 = new QueueX(size);
this.datas2 = new QueueX(size);
}
public void push(Long data){
if (!datas1.isEmpty()) {
datas1.insert(data);
} else if(!datas2.isEmpty()){
datas2.insert(data);
} else {
datas1.insert(data);
}
}
public Long pop(){
if (!datas1.isEmpty()) {
int d1S = datas1.getSize();
for (int i = 0; i < d1S-1; i++) {
datas2.insert(datas1.remove());
}
return (Long)datas1.remove();
} else {
int d2S = datas2.getSize();
for (int i = 0; i < d2S-1; i++) {
datas1.insert(datas2.remove());
}
return (Long)datas2.remove();
}
}
}