All pastes #525326 Raw Edit

huhu

public text v1 · immutable
#525326 ·published 2007-05-31 10:01 UTC
rendered paste body
#include <stdio.h>
#include <stdlib.h>

#include "liste.h"



Liste ListAllouer(void) {

	Liste L;


	
	L=(Liste)malloc(sizeof(Liste));

	if (L != NULL) {
	
	
		L->NbElts = 0;
		L->Elts = NULL;

	printf("Liste Allouée\n");

	return L;
	
	}
	else {

	printf("Erreur : la liste n'a pas été allouée\n");

	
	return (NULL);
	}
	
}







Liste AjouterDebut (Liste l, int Elt) {

	Cellule cellule;
	

		cellule=(Cellule)malloc(sizeof(Cellule));
	if(cellule==NULL){
		
		return NULL;
		}

	cellule->Suivant=l->Elts;
	cellule->Valeur=Elt;
	
	l->NbElts++;
	l->Elts=cellule;

	return l;

}



Liste ListAjouterEnFin(Liste l, int Elt){

	

	Cellule cellule;
	Cellule cellule_temporaire;

		int i;


	cellule=(Cellule)malloc(sizeof(Cellule));
	

			if(cellule==NULL){
				return NULL;
			}

	cellule->Valeur=Elt;
	cellule->Suivant=NULL;

		if(l->Elts != NULL){	
	cellule_temporaire=(Cellule)malloc(sizeof(Cellule));
	cellule_temporaire=l->Elts;	

	for (i=1;i<l->NbElts;i++) {
		cellule_temporaire=cellule_temporaire->Suivant;
		}

	l->NbElts++;
	cellule_temporaire->Suivant=cellule;
	}

else {
	l->NbElts++;
	l->Elts=cellule;
	}
	
		
	return l;
}

void afficher_liste(Liste l){

	Cellule cellule;
	
		int  i;

	cellule=malloc(sizeof(Cellule));
	
	cellule=l->Elts;
	
	printf("Il y a %d elements dans la liste\n",l->NbElts);

	for(i=0;i<l->NbElts;i++) {
		
		printf(" l'element %d a la valeur %d\n",i,cellule->Valeur);
		cellule=cellule->Suivant;
		
	}
}


int main(void) {

	Liste q;
	
	int i=2;

	q=ListAllouer(); /*Allocation de memoire a la liste*/


	
AjouterDebut (q,1);
	
	ListAjouterEnFin(q,3);
	AjouterDebut (q,2);
	ListAjouterEnFin(q,4);
	
	
	afficher_liste (q);

	

		


printf("ok\n");

	return 0;

}