begin process at 2008 07 21 01:46:24
1 213 544 membres
13 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : les listes chainées [ Divers / Général ] (foxriver001)

les listes chainées le 07/04/2008 16:19:13

foxriver001
au fait j'ai implémenté les listes chainées en java mais le programme ne marche pas correctement,j'ai donc besoin de
l'aide de quelqu'un .voici le programme ci-dessous ,mon but est de saisir les éléments de la listes (entiers) ensuite les afficher

package liste;

import java.util.Scanner;
import javax.swing.*;
import java.io.*;
import java.util.*;
/**
 *
 * @author Madang
 */
public class liste_ch {
    private int valeur;//contenu de la liste
    private liste_ch svt;//reference sur l'element suivant
     public liste_ch(int v,liste_ch s){
          valeur=v;
          svt=s;
     }
     public liste_ch(){}
     public  int tete( liste_ch l){
        return l.valeur;
     }
     public  int queue(liste_ch l){
         liste_ch m=l;
      while(l.svt!=null){
           m.svt=l.svt;
      }
         return m.valeur;
             
     }
     public  int getvaleur(){
      return valeur;
     }
     public liste_ch getsvt(){
      return svt;
     }
     public  liste_ch liste_vide(){
      liste_ch l=new liste_ch();
   return l;
     
     }
     public static boolean rechercher(int a,liste_ch l){
         if(l==null) return false;
        while(l!=null) {
        if(a==l.valeur)  return true;
            l=l.svt ;
        }
       return false;
     }
     public static liste_ch ajouter(int a,liste_ch l){
     if(!rechercher(a,l))
      new liste_ch(a,l);
     return l;
     }
     public static  liste_ch supprimer(int a ,liste_ch l){
         liste_ch lis=l.svt;
         if(l.valeur==a) return lis;
         else while(lis!=null){ if(lis.valeur==a) {l.svt=lis.svt; return l;}
                 lis=lis.svt;
                 l=l.svt;
          }
         return l;
     }
     public static void afficher(liste_ch l){
         int i=1;
       while(l!=null)  {
       System.out.println("\n\t valeur "+i+":"+l.valeur);
       i++;l=l.svt;
       }  
     }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        boolean hasnext=true;
       String c,n="n",y;
       int i;
       liste_ch l=new liste_ch();
        Scanner input=new Scanner(System.in);
        System.out.println("\nsaisir les élements de votre liste !");
        while( hasnext==true){
        i=input.nextInt();       
        ajouter(i,l);
        System.out.println("\nun autre entier ? (y/n)");
        c=input.next();
        if(c.compareToIgnoreCase(n)==0) hasnext=false;
       }
        afficher(l);
        // TODO code application logic here
    }

}
 ensuite voici  ce qu'il m'affiche quand je l'execute:
run:

saisir les élements de votre liste !
3

un autre entier ? (y/n)


n

         valeur 1:0
BUILD SUCCESSFUL (total time: 35 seconds)


what doesn't kill u makes u stronger

Re : les listes chainées le 07/04/2008 19:02:37

DARKSIDIOUS
Membre Club
(Admin CS)
Salut,

Déjà, rien qu'ici, y'a un soucis :
public  int queue(liste_ch l){
         liste_ch m=l;
      while(l.svt!=null){
           m.svt=l.svt;
      }

Vu que l n'est jamais modifié, tu va tourné en boucle !!!

Serait-ce pas plutôt : while(m.svt!=null){
______________________________________
DarK Sidious

Re : les listes chainées le 08/04/2008 05:03:39

foxriver001
Merci pour ta remarque DARKSIDIOUS,au fait jusqu'à présent je n'ai pas encore utilisé la méthode "queue" si tu vois le resultat affiché ,je pense que le programme n'affiche pas ce je veux.
D'autre part tu as raison "queue" est mal écrite.

what doesn't kill u makes u stronger


Classé sous : public, valeur, liste, return, svt

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS