Suite au tuto dispo ici
http://chgi.developpez.com/pile/
j'ai decidé de continuer et de faire de nouvelles fonctions
Dont une qui supprime un element qui possede une valeur determiée d'une pile alors que la fonction de suppression disponible sur le tuto ne permettait que de supprimer celui sur le debut.
Je voudrais avoir votre avis.
Ca permet de renvoie l'element qui se trouve a la nieme place.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 pile* renvoie_nieme_element(pile *Mapile,int n){ for(int i=2;i<=n;i++){ Mapile=Mapile->prec; } return Mapile; }
Il y certainement mieux a faire, mais c'est ce que j'ai fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 pile* supr_un_element(pile** Mapile,int a){ //supprime lelement qui possede la valeur a. pile* temp=*Mapile; pile* element_avant_le_supprimé; pile* element_apres_le_supprimé; pile* element_a_supprimer; int n=0; //n est le numéro de la place de l'élément qui précède celui qu'on doit supprimer. if(temp!=0){ while(temp->val!=a){ temp=(temp)->prec; n=n+1; } element_avant_le_supprimé=renvoie_nieme_element(*Mapile,n); element_a_supprimer=renvoie_nieme_element(*Mapile,n+1); element_avant_le_supprimé->prec=element_a_supprimer->prec; } return temp2; }
J'attends tous vos commentaires.
et voici une fonction qui renvoie le min
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 int renvoie_min(pile* mapile){; int a; a=(*mapile).val; for (int i=1;i<=lentgh(mapile);i++){ mapile=mapile->prec; //cout<<(*mapile).val<<endl; if (a>=(*mapile).val){ a=mapile->val; } } return a; }
Partager