Ejemplo n.º 1
0
Archivo: l.c Proyecto: jamox/cmockaTest
dList* mergeListsD(dList *L1, dList *L2){
  dList *L3 = NULL;

  if (L1 != NULL && L2 == NULL){
    L3 = L1;
    return L3;
  }

  if (L1 == NULL && L2 != NULL){
    L3 = L2;
    return L3; //(piti tallentaa L3 kasaan)
  }
  if (L1 == NULL && L2 == NULL){
    return NULL;
  }

  if (L1 != NULL){
    L3 = L1;
  }
  if (L2 != NULL && (L2->x > L1->x)){
    L3 = L2;
  }
  if ((L1 != NULL && L2 != NULL) && ( L1->x == L2->x )){
    int sum2 = (L1->x) + (L2->x);
    L3 = createElem(sum2, NULL, NULL);
    L1=L1->next;
    L2=L2->next;
  }

  dList *permHead = L3;

  while (L1!=NULL || L2!=NULL){
    dList *tmp = NULL;
    int sum = 0;
    if (L1!=NULL){
      tmp = L1;
    }
    if( L2!=NULL && (L1!=NULL || (L2->x < L1->x))){
      tmp = L2;
    }
    if ((L1 != NULL && L2 != NULL)&&(L1->x == L2->x) ){
      sum = (L1->x) + (L2->x);
      tmp = createElem(sum, L3, NULL);
    }

    L3->next = createElem(tmp->x, tmp->prev, tmp->next);

    L3=L3->next;
    if (sum){
      L1 = L1->next;
      L2 = L2->next;
    } else if(tmp==L1){
      L1=L1->next;
    } else if (tmp == L2){
      L2 = L2->next;
    }

  }
  return permHead;
}
Ejemplo n.º 2
0
//2.0--------------------------------------------------
int insertBtree(int key, BTree* T){
             keys* k = createElem(); // element is created
             Node* L ;
	     L = T->root;
             k->key1 = key;
             firstinsert(k, L, T);
             //printf("root %d \n",T->root->keez[0]->key1);   
                      return 0; 	
      }  
Ejemplo n.º 3
0
int main()
{
	int result;
	poly p;
	poly b;
	Elem dat,dat1,dat2;

	createElem(&dat,0.0,0);
	createElem(&dat1,0.2,2);
	createElem(&dat2,0.3,3);
	
	create(&p);
	create(&b);
	//insertHead(p,dat1);
	//insertTail(p,dat2);
	OrderInsert(p,dat2,compareExpn);
	OrderInsert(p,dat1,compareExpn);
	traverse(p,print);
	LocElem(p, dat1, compareBoth,&result,"compareBoth");
		
	createElem(&dat2,0.1,3);
	OrderInsert(p,dat2,compareExpn);
	traverse(p,print);
	
	createElem(&dat2,-0.1,2);
	OrderInsert(p,dat2,compareExpn);
	traverse(p,print);	

	printf("---------------------------------------\n");
	createElem(&dat2,-0.3,5);
	OrderInsert(p,dat2,compareExpn);
	traverse(p,print);
	
	printf("---------------------------------------\n");
	//createElem(&dat2,0.5,1);
	createElem(&dat2,0.4,4);
	OrderInsert(b,dat2,compareExpn);
	createElem(&dat2,-0.1,2);
	OrderInsert(b,dat2,compareExpn);
	createElem(&dat2,-0.5,8);
	OrderInsert(b,dat2,compareExpn);
	createElem(&dat2,-0.9,7);
	OrderInsert(b,dat2,compareExpn);
	createElem(&dat2,-0.4,3);
	OrderInsert(b,dat2,compareExpn);

	traverse(b,print);
	printf("---------------------------------------\n");
	AddPolyn(p,b);
	traverse(p,print);
	printf("---------------------------------------\n");
	
	destroy(&p);
	destroy(&b);
	return OK;
}
Ejemplo n.º 4
0
Archivo: l.c Proyecto: jamox/cmockaTest
dList* clone(dList *node){
  return createElem(node->x, node->prev, node->next);
}
Ejemplo n.º 5
0
Archivo: l.c Proyecto: jamox/cmockaTest
dList* createElemNo(int value){
  return createElem(value, NULL,NULL);
}