edutecnica

Esercizio 4        

Realizza un programma per gestire una coda di interi di max 5 elementi attraverso una classe Coda che deve prevedere dei metodi per l'inserimento e per l'estrazione di un elemento.



import java.util.Scanner;
class provaCoda{
public static void main (String args []){
Scanner in=new Scanner(System.in);
int ch,num;
Coda p = new Coda();
do{
   System.out.println("1-Push");
   System.out.println("2-Pop");
   System.out.println("3-Exit");
   ch =in.nextInt();
   switch (ch) {
      case 1:
      System.out.print("inserisci:");
      num=in.nextInt(); 
      p.push(num);
      break;
      case 2:
      System.out.println("estrazione");
      p.pop();
      break;
      case 3: System.out.println("EXIT"); break;
      default:
      System.out.println("selezione non valida");
      break;
   }//fine switch
}while(ch!=3);
in.close();
}//fine main
}// fine classe provaCoda

class Coda {
private boolean full=false;
private int i,j;
private int T[] = new int[5];
public void print(){
   for(i=0;i < T.length;i++)
       System.out.print(T[i]+" ");
   System.out.println("-> j="+j);
}//fine print
public void push(int numero){
if(!full){
   T[j] = numero;
   j++;
   if(j==T.length)full=true;
}
print();
}//fine push
public void pop(){
if(j!=0)j--;
for(i=0;i < T.length-1;i++)T[i]=T[i+1];
T[j]=0;
full=false;
print();
}//fine pop
}//fine classe Coda

La coda si differenzia dalla pila solo per la modalità di estrazione di un elemento che qui è stata assicurata dalla modifica apportata al metodo pop() attraverso le due istruzioni:
for(i=0;i < T.length-1;i++)T[i]=T[i+1];
T[j]=0;
.