[Spoiler] Structure permettant de gérer une pile d'entiers + fonctions de manipulation
Page 1 sur 1
[Spoiler] Structure permettant de gérer une pile d'entiers + fonctions de manipulation
Pile.java
(OPTIONNEL) Main.java :
Choix.java
Lire.java & Entier.java sont utilisés.
- Code:
/*" auteur :" crossette
" date :" 13 juin 2016
" nom fichier :" Pile.java*/
class Pile
{
public static int taille = 50;
public int[] tab;
public int indice;
public static void init_pile(Pile lifo)
{
lifo.tab = new int[Pile.taille];
lifo.indice = 0;
}
public static boolean empiler(Pile lifo, int val)
{
boolean ok = false;
if (lifo.indice == Pile.taille)
{
ok = false;
} else
{
lifo.indice++;
lifo.tab[lifo.indice] = val;
ok = true;
}
return ok;
}
public static boolean depiler(Pile lifo, Entier val)
{
boolean ok = false;
if (lifo.indice == 0)
{
ok = false;
} else
{
val.setVal(lifo.tab[lifo.indice]);
lifo.indice--;
ok = true;
}
return ok;
}
public static void afficher(Pile lifo)
{
int i = 1;
while (i <= lifo.indice)
{
System.out.print(lifo.tab[i] + " ");
i++;
}
System.out.println(" ");
}
}
(OPTIONNEL) Main.java :
- Code:
/*" auteur :" crossette
" date :" 13 juin 2016
" nom fichier :" Main.java*/
public class Main
{
public static void main(String arg[])
{
Entier val = new Entier();
Pile lifo = new Pile();
boolean succes = false;
int fin = 0;
Choix rep;
Pile.init_pile(lifo);
while (fin == 0)
{
System.out.println(" ");
System.out.println("'Empiler' ou 'Dépiler' ou 'Afficher' ou 'Fin' ?");
rep = Choix.saisirChoix();
switch (rep)
{
case EMPILER:
System.out.println("Valeur :");
val.setVal(Lire.i());
succes = Pile.empiler(lifo, val.getVal());
if (succes)
{
System.out.println("Empilage réussi");
} else
{
System.out.println("Echec de l'empilage");
}
break;
case DEPILER:
succes = Pile.depiler(lifo, val);
if (succes)
{
System.out.println("Dépilage réussi");
System.out.println("Chiffre dépiler : " + val.getVal());
} else
{
System.out.println("Echec du dépilage");
}
break;
case AFFICHER:
Pile.afficher(lifo);
break;
case FIN:
fin = 1;
break;
}
}
}
}
Choix.java
- Code:
/*" auteur :" crossette
" date :" 10 juin 2016
" nom fichier :" Colorie.java*/
enum Choix
{
EMPILER, DEPILER, AFFICHER, FIN;
public static Choix saisirChoix()
{
String s;
Choix col = null;
boolean ok = true;
do
{
System.out.println();
System.out.print("Choix : ");
s = Lire.S().toUpperCase();
try
{
col = Choix.valueOf(s);
ok = true;
} catch (Exception e)
{
ok = false;
}
} while (!ok);
return col;
}
};
Lire.java & Entier.java sont utilisés.
Sujets similaires
» [Spoiler] Structure de données permettant de conserver les informations sur les pièces
» [Spoiler] Manipulation des tableaux à plusieurs dimensions JAVA
» [Spoiler] Dichotomie
» [Spoiler] Recopie phrase inversée
» [SPOILER] Procédure Remplir Tableau
» [Spoiler] Manipulation des tableaux à plusieurs dimensions JAVA
» [Spoiler] Dichotomie
» [Spoiler] Recopie phrase inversée
» [SPOILER] Procédure Remplir Tableau
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|