Jedno pitanje : Ucim implementirati ove Stacks, Queues and Dequeus, i naisao sam na jedan kod u kojem mi je sve jasno osim jedne stvari
Code:
public class DoubleEndedQueueImpl {
private List<Integer> deque = new ArrayList<Integer>();
public void insertFront(int item){
//add element at the beginning of the queue
System.out.println("adding at front: "+item);
deque.add(0,item);
System.out.println(deque);
}
public void insertRear(int item){
//add element at the end of the queue
System.out.println("adding at rear: "+item);
deque.add(item);
System.out.println(deque);
}
public void removeFront(){
if(deque.isEmpty()){
System.out.println("Deque underflow!! unable to remove.");
return;
}
//remove an item from the beginning of the queue
int rem = deque.remove(0);
System.out.println("removed from front: "+rem);
System.out.println(deque);
}
public void removeRear(){
if(deque.isEmpty()){
System.out.println("Deque underflow!! unable to remove.");
return;
}
//remove an item from the beginning of the queue
int rem = deque.remove(deque.size()-1);
System.out.println("removed from front: "+rem);
System.out.println(deque);
}
public int peakFront(){
//gets the element from the front without removing it
int item = deque.get(0);
System.out.println("Element at first: "+item);
return item;
}
public int peakRear(){
//gets the element from the rear without removing it
int item = deque.get(deque.size()-1);
System.out.println("Element at rear: "+item);
return item;
}
public static void main(String a[]){
DoubleEndedQueueImpl deq = new DoubleEndedQueueImpl();
deq.insertFront(34);
deq.insertRear(45);
deq.removeFront();
deq.removeFront();
deq.removeFront();
deq.insertFront(21);
deq.insertFront(98);
deq.insertRear(5);
deq.insertFront(43);
deq.removeRear();
}
}
ono sto meni nije jasno je, zbog cega u metodi insertFront stoji deque.add(0,item) ? Ova nula mi nije jasna, pokusao sam staviti bez nule, ali mi pri testiranju zadnji broj koji upisem pozivom metode insertFront (4999) npr. upise na kraju, ovako : insertFront(4999) - [23,45,4999] umjesto [4999,23,45], dok u prethodnim redovima izvrsavanja metode upisuje normalno broj na pocetak? o.O (ovi brojeve 23 i 45 sam random stavio cisto da vam pokazem na sta mislim)