Skip to content

Latest commit

 

History

History
53 lines (53 loc) · 797 Bytes

coda_circolare.md

File metadata and controls

53 lines (53 loc) · 797 Bytes

Coda circolare

private int testa;
private int coda;
private int nelem;
private int max;
private Veicolo[] C;

Costruttore

public CodaCircolare(int dim) {
    max=dim; nelem=0; testa=coda=0; C=new int[max];
}

Append

Precondizione: coda non piena

public void append(int e){
   C[coda]=e;
   coda=(coda+1)%max;
   nelem++;
}

Pop

Precondizione: coda non vuota

public int pop(){
  int e = C[testa];
  testa=(testa+1)%max;
  nelem--;
  return e;
}

Predicati

public boolean isEmpty(){
   return nelem==0;
}
public boolean isFull(){
   return nelem==max;
}

Print

Precondizione: coda non vuota

public void printCoda() {
   for(int i=0; i<nelem; i++) {
       System.out.println(C[(testa+i)%max]);
   }
}