1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| /*les versions des fonctions qui ajoutent un élément */
void Liste::ajouteDebut(Type const & t)
{
/* je considère que Maillon dispose d'un constructeur prenant en
* en argument un objet du type à maintenir dans la liste
*/
Maillon * temp=new Maillon(t);
temp->suivant=tete;
tete = temp;
}
void Liste::insere(Maillon & before, Type const & t)
{
Maillon *temp= new Maillon(t);
temp->suiv = before->suiv;
before->suiv=temp;
}
void Liste::ajouteFin(Type const & t)
{
Maillon *temp = new Maillon(n);
if(queue)
queue->suiv=temp;
queue= temp;
if(!tete)
tete= temp;
}
/* versions qui ajoutent une succession de maillons dont le premier
* maillon inséré est first et le dernier maillon inséré est celui qui
* précède last
*/
void Liste::ajouteDebut(Maillon const & first, Maillon const & last)
{
Maillon const & temp =first;
while(temp!=last)
{
/* je considère que Maillon dispose de l'opérateur * qui permet
* de récupérer la valeur
*/
ajouteDebut( *temp);
/* je considère que Maillon dispose de l'opérateur d'incrémentation
* qui permet de passer au maillon suivant
*/
++temp;
}
}
void Liste::insere(Maillon & before, Maillon const & first,
Maillon const & last)
{
Maillon const & temp =first;
while(temp!=last)
{
/* je considère que Maillon dispose de l'opérateur * qui permet
* de récupérer la valeur
*/
insere( before, *temp);
++temp;
++before;
}
}
void Liste::ajouteFin(Maillon const & first, Maillon const & last)
{
Maillon const & temp =first;
while(temp!=last)
{
ajouteFin( *temp);
++temp;
}
} |
Partager