begin process at 2012 05 28 09:19:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

j'arrive pas à trouver le code d'une liste contigue circulaire ???


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

j'arrive pas à trouver le code d'une liste contigue circulaire ???

jeudi 10 avril 2008 à 21:03:53 | j'arrive pas à trouver le code d'une liste contigue circulaire ???

nouhabs

slt si quelqu'un a le code  n'hésiter pas  s'il vous plais j'ai 1 projet à rendre
vendredi 11 avril 2008 à 16:20:35 | Re : j'arrive pas à trouver le code d'une liste contigue circulaire ???

juju12

Et pourquoi tu le ferais pas toi-même (c'est le principe d'un projet à la base)?
vendredi 11 avril 2008 à 16:36:20 | Re : j'arrive pas à trouver le code d'une liste contigue circulaire ???

nickydaquick

Membre Club
Bonjour l'ami,



voici un exemple en c++:


/******************************************
*                  Declaration   header
******************************************/
typedef struct
{
    const int __valeur;
    PSNoeud __suivant
}SNoeud, *PSNoeud;

class SListe
{
    public:
       SListe(void);
       ~SListe();

      const bool ajouterValeur(const int valeur, const unsigned rang=0);
      const bool enleverValeur(const int valeur, const unsigned rang=0);
      const unsigned rechercherValeur(const int valeur) const;
      const bool remplacerValeur(const int valeur, const unsigned rang=0);
       void viderListe(void);
       inline const unsigned taille(void)const{return __taille;}

   private:
       unsigned __taille;
       SNoeud __racine;
};



/*****************************************
*                  Implementation   source
*****************************************/

SListe::SListe(void)
{
    __racine.__suivant = &__racine;
    __taille = 0;
}//cons
SListe::~SListe()
{
       viderListe();
}//dest

const bool SListe::ajouterValeur(const int valeur, const unsigned rang)
{
    PSNoeud noeud = new Noeud();
    if(!noeud)return false;
    noeud->__valeur = valeur;

       const PSNoeud const racine = &__racine;
       PSNoeud iterateur = &__racine;
       unsigned compteur = rang;
       noeud->__suivant = &__racine;
       while(compteur-- && iterateur->__suivant!=racine)iterateur = iterateur = iterateur->__suivant;
       noeud->__suivant = iterateur->__suivant;
      iterateur->__suivant = noeud;
      ++__taille;

    return true;
}//met

SListe::const bool enleverValeur(const int valeur, const unsigned rang)
{
    if(__taille==0)return false;
   bool premierTrouve = (rang>=__taille);

    PSNoeud iterateur = &__racine, noeudAdetruire = 0;
    unsigned compteur = rang;
    do
    {
       if(iterateur->__suivant->__valeur == valeur)
       {
            noeudAdetruire = iterateur->__suivant;
            if(premierTrouve)break;
        }//if
    }while(compteur--);//while
 
    if(!noeudAdetruire)return false;
    iterateur->__suivant = noeudAdetruire->__suivant;
    delete noeudAdetruire;
    --__taille;
    return true;
}//met

const unsigned SListe::rechercherValeur(const int valeur) const
{
    if(__taille ==0 ) return __taille+1;
    unsigned rang = 0, taille = __taille;
    PSNoeud iterateur = __racine.__suivant;
    while(iterateur->valeur!=valeur && taille--)
    {
       iterateur = iterateur->__suivant;
       ++rang;
    }//while
    if(iterateur==&_racine)return __taille+1;
    return rang;
}//met

const bool SListe::remplacerValeur(const int valeur, const unsigned rang)
{
    if(rang>=__taille || __taille==0)return false;
    bool premierTrouve = (rang>=__taille);
    PSNoeud iterateur = __racine.__suivant;
    unsigned compteur = rang;
    do
    {
       if(iterateur->__valeur == valeur)
       {
             if(compteur)continue;
            if(premierTrouve)
            {
                iterateur->__valeur = valeur;
                break;
             }//if
        }//if
    }while(compteur--);//while
    if(iterateur==&_racine)return false;
    iterateur->__valeur = valeur;
}//met

SListe::viderListe(void)
{
    if(__taille)
    {
       PSNoeud iterateur = __racine.__suivant, noeudAdetruire=0;
       __racine.__suivant = &racine;
       while(iterateur!=&__racine)
       {
              noeudAdetruire = iterateur;
              iterateur = iterateur->__suivant;
              delete noeudAdetruire;
       }//while
    }//if
    __taille = 0;
}//met



code tape intuitivement, j'espere que ca va aider, Salut
je suis heureux de faire partie d'une grande famille ...!


Cette discussion est classée dans : arrive, trouver, code, liste, contigue


Répondre à ce message

Sujets en rapport avec ce message

Key Code ??? [ par alexsierro ] Quelqu'un s'aurait ou trouver la liste complète des keycode ? KEY_ENTER 13KEY_ESC 27 KEY_F1 59KEY_F Trouver chemin de dossier [ par Gendal67 ] Salut !!J'aimerais trouver un équivalent de :GetOpenFileName(OPENFILENAME ofn);mais pour les dossiers ! Merci d'avance ! + liste contigue circulaire [ par bidouza ] salut, excusez moi mais j'aimerais savoir si quelqu'un a une astuce a propos des "listes CONTIGUES circulaires" parce que je patauge un peu. Merci d'a Base de données MYSQL [ par JR07 ] Je voudrais savoir si quelqu'un aurait du code avec des requêtes Mysql, qui permettent d'écrire et de lire dans une base de données. Le code que je so Liste circulaire contigue en c [ par nacour ] implementation des primitives d'une liste circulaire contigue en c Structures nommées incompréhensible ... à l'aide [ par otterc8 ] Bonjour, voila j'ai ce bout de code que je ne comprends pas top, malgré des recherches sur les structures, il y a des choses que je ne comprends pas! MultiByteToWideChar et tous ce qui va avec [ par BEAUBRIUS ] BonjourJe suis sous windows et j'utilise VS2005Je voudrai lister les fichiers et sous repertoire d'un dossier.Apres quelque recherche a ce sujet , j'a (win32) compatibilite [ par mogwai93 ] BonjourJ'ai du code en win32 (trop long pour etre poste ici) qui fonctionne sur certaines machines et par sur d'autresj'ai testé : win98SE, Win2000, W j'arrive pas à telecherger les code source disponible pour les membres de forum .je peux savoir comment faire [ par nabilm2m ] salut a tout le monde compte à rebour bombe [ par demonofshadow ] bonjour,tout d'abord, désolé si je n'ai pas placé ce message au bon endroit, mais je ne vois pas où le mettre...Ensuite, je dois avouer que j'ai trouv


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales