Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct List{
- int key;
- struct List* next;
- }
- typedef struct List* List;
- //creazione di un nodo
- List newElem(int k){
- List temp= (List)malloc(sizeof(List));
- temp->key= k;
- temp->next= NULL;
- return temp;
- }
- //inserimento in testa
- void addHead(List L, int k){
- List toAdd= newElem(k);
- if(L != NULL){
- toAdd->next= L;
- L= toAdd;
- }
- else L= toAdd;
- }
- //funzione di ricerca
- int search(List L, int k){
- if(L != NULL){
- if(L->key == k) return 1;
- else return search(L->next, k);
- }
- return 0;
- }
- List diffSimm(List L1, List L2){
- if(L1 && L2){
- List L3= NULL;
- L3->next= diffSimm(L1->next, L2->next);
- if(!search(L1, L2->key))
- addHead(L3, L2->key);
- if(!search(L2, L1->key))
- addHead(L3, L1->key);
- }
- return L3;
- }
Advertisement
Add Comment
Please, Sign In to add comment