Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "header.h"
- typedef struct element
- {
- int x;
- struct element* nxt;
- }element;
- typedef element* llist;
- void head(llist *liste, int i)
- {
- llist petit = malloc(sizeof(element));
- petit->x = i;
- petit->nxt = *liste;
- *liste = petit;
- }
- void print(llist liste)
- {
- llist temp = liste;
- while(!temp == NULL)
- {
- printf("%d ",temp->x);
- temp = temp->nxt;
- }
- }
- void tail(llist liste, int i)
- {
- llist petit = malloc(sizeof(element));
- llist temp = liste;
- while(!temp->nxt == NULL)
- {
- temp = temp->nxt;
- }
- petit->x = i;
- temp->nxt = petit;
- petit->nxt = NULL;
- }
- void removeI(llist *liste, int j)
- {
- llist temp = *liste;
- llist temp2 = temp;
- int y = 0;
- if(liste == NULL) *liste = NULL;
- else if((*liste)->nxt == NULL)
- {
- if((*liste)->x == j)
- {
- free(temp);
- *liste = NULL;
- }
- }
- else if((*liste)->x == j)
- {
- *liste = (*liste)->nxt;
- free(temp);
- removeI(liste, j);
- }
- else
- {
- while((temp != NULL)&&(y == 0))
- {
- if(temp->x != j)
- {
- temp2 = temp;
- temp = temp->nxt;
- }
- else y=1;
- }
- if(y == 1)
- {
- temp2->nxt = temp->nxt;
- free(temp);
- removeI(liste, j);
- }
- }
- }
- void main()
- {
- llist liste = NULL;
- int i;
- for(i=0; i<=10; i++)
- {
- head(&liste, i);
- }
- for(i=0; i<=10; i++)
- {
- tail(liste, i);
- }
- removeI(liste, 10);
- print(liste);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement