예제 #1
0
Bateau creerBateau(Position p, char sens, int l)
{
    /*Creer un bateau de position de tete p, avec les nouvelles position qui suivent le sens de s.*/
    Bateau *Bat=malloc(sizeof(int)+ sizeof(Position)+2*sizeof(*TListe)); //Car la liste contiendra des positions et elle est constituée de 2 pointeurs suivant et précédent du type liste doublement chainée
    Bat->longueur=l;
    Position *p1=creerPosition(getXPos(p),getYPos(p));
    AjoutDebut(Bat->positions, p1);
    int i;
    for (i=1;i<l;i++){
        if (sens=='v'){
            setYPos(p1,getYPos(p1)+1);
        }
        else if (sens=='h'){
            setXPos(p1,getXPos(p1)+1);
        }
        AjoutDebut (Bat->positions, p1);
    }
    return Bat;
}
예제 #2
0
int main (void)
{
printf("Lancement du programme des tests du module liste \n");
printf("\n");


TListe l = CreerListe() ;

if(EstVide(l))
	printf("La liste nouvellement crée est bien vide \n");
else
	printf("La liste n'est pas vide\n");

AfficheListe(l);

l=AjoutDebut(l, 3);
printf("Element 3 ajouté \n");
AfficheListe(l);

l=AjoutDebut(l, 5);
printf("Element 5 ajouté \n");
AfficheListe(l);


l=AjoutDebut(l, 1);
printf("Element 1 ajouté \n");
AfficheListe(l);

l=AjoutFin(l, 11);
printf("Element 11 ajouté en fin de liste \n");
AfficheListe(l);

l=AjoutFin(l, 14);
printf("Element 11 ajouté en fin de liste \n");
AfficheListe(l);


printf("Premier de la liste : %d\n",Premier(l));

printf("Premier(Vide) va provoquer une erreur\n");
printf("Premier de la liste : %d\n",Premier(CreerListe()));


printf("Dernier de la liste : %d\n",Premier(l));
printf("Dernier(Vide) va provoquer une erreur\n");

printf("Dernier de la liste : %d\n",Premier(CreerListe())); 
/*l=SupprimerTete(l);
printf("Element de tete supprimé\n");
AfficheListe(l);*/


/**************************************************/
/* A vous de completer pour tester les fonctions  */
/* SupprimerFin                                   */
/* NbOccurence                                    */
/**************************************************/






   return 0;
}