Soyez le premier à donner votre avis sur cette source.
Snippet vu 14 246 fois - Téléchargée 27 fois
/*fichier list2.h il doit etre enregistre avec ce nom ds le même dossier que le fihier principal sinon proceder au changement */ struct cellule { int val; cellule *suiv; }; typedef cellule* liste; class listechainee { private: liste cell; public: listechainee(); void ajouterdebut(int); void affichage() const; void milieu(int rang, int n); void ajouter(int n); listechainee(listechainee &); ~listechainee(); // le destructeur }; listechainee::listechainee() { cell=new cellule; cell=NULL; } void listechainee::ajouterdebut(int n) { liste element; element=new cellule; element->val=n; element->suiv=cell; cell=element; } void listechainee::affichage() const { liste p; p=cell; while(p!=NULL) { cout<<p->val<<endl; p=p->suiv; } } //milieu void listechainee::milieu(int rang, int n) { int i; liste element,temp; temp=cell; for (i=1;i<rang-1;i++) { temp=temp->suiv; if(temp->suiv==NULL) break; } if(rang<=1) listechainee::ajouterdebut(n); else if(temp->suiv==NULL) listechainee::ajouter(n); else { element=new cellule; element->val=n; element->suiv=temp->suiv; temp->suiv=element; } } //ajouter void listechainee::ajouter(int n) { liste element,temp; element=new cellule; element->val=n; element->suiv=NULL; temp=cell; if (temp==NULL) cell=element; else { while(temp->suiv!=NULL) { temp=temp->suiv; } temp->suiv=element; } } listechainee::~listechainee() //implementation du destructeur { if(cell!=NULL) { liste temp,prec; temp=cell; while(temp!=NULL) { prec=temp; temp=temp->suiv; delete prec; } } } listechainee::listechainee(listechainee & chaine) { liste copie_liste=chaine.cell,temp,element,debut; element=new cellule; debut=element; if(copie_liste==NULL) { element=NULL; cell=element; } else { temp=element; element->val=copie_liste->val; element->suiv=NULL; temp->suiv=element; copie_liste=copie_liste->suiv; while(copie_liste!=NULL) { element=new cellule; element->val=copie_liste->val; element->suiv=NULL; temp->suiv=element; temp=element; copie_liste=copie_liste->suiv; } cell=debut; } } /*&&&&&&&&&&&&&*fichier principal&&&&&&&&&&&&&&&&&&&*/ #include<iostream.h> #include"liste2.h" void main() { int i=1,r,val; listechainee liste1; cout<<"saisir la liste1 par des entiers"<<endl; while(i!=0) { cout<<"donner une valeur"; cin>>val; liste1.ajouter(val); cout<<"taper 0 pour sortir"; cin>>i; } liste1.affichage(); cout<<"donner le rang de la liste1 ou vous voulez inserer un element"; cin>>r; cout<<"donner une valeur"; cin>>val; liste1.milieu(r,val); liste1.affichage(); cout<<"\\ncopie de la liste 1 dans la liste2"<<endl; listechainee liste2=liste1; liste2.affichage(); cout<<"donner le rang de la liste2 ou vous voulez inserer un element"; cin>>r; cout<<"donner une valeur"; cin>>val; liste2.milieu(r,val); cout<<"afichage de la liste2"<<endl; liste2.affichage(); cout<<"\\nle changement n'a pas affecter la liste1"<<endl; liste1.affichage(); }
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.