Exemplo n.º 1
0
int main(void)
{
	struct my_list*  mt = NULL;

	mt = list_new();
	list_add_element(mt, 1,1);
	list_add_element(mt, 2,2);
	list_add_element(mt, 3,3);
	list_add_element(mt, 4,4); 

	list_print(mt);

	list_remove_element(mt);
	list_print(mt);

	list_free(mt);   /* always remember to free() the malloc()ed memory */
	free(mt);        /* free() if list is kept separate from free()ing the structure, I think its a good design */
	mt = NULL;      /* after free() always set that pointer to NULL, C will run havon on you if you try to use a dangling pointer */

	list_print(mt);

	return 0;
}
Exemplo n.º 2
0
int main (int argc, char** argv) {
  tree_t t = tree_new();
  list_t l = list_new();
  
  for (int i=0; i<argc-1; i++)
    list_add_element (l, argv[i+1]);
  
  int j=0;
  for (element_t e = list_get_first_element (l); e != NULL; e = element_get_next (e)) {
    if (includeElement())
      tree_insert_node (t, e);
  }
  printf ("Before deleting list:\n");
  tree_ordered_suffix_print (t);
  list_delete (l);
  printf ("After deleting list:\n");
  tree_ordered_suffix_print (t);
  tree_delete (t);
}
Exemplo n.º 3
0
int test_size ( void )
{
  // Sign on
  printf("**** Linked List Test - size\n");

  /*
   * create a new list
   */ 
  list_t *SizeTest;

  SizeTest = list_create();  
  printf("\tTest01 - size on empty list %d \n",list_size(SizeTest));

  list_add_element(SizeTest,100);
  printf("\tTest02 - size on list 1 = %d\n",list_size(SizeTest));

  printf("**** Linked ListTest - size Ends\n");
  
  return 0;
}
Exemplo n.º 4
0
int test_add ( void )
{
  list_t *addTest;
  list_t *emplaceTest;
  
  // Sign on
  printf("**** Linked List Test - add\n");

  /*
   * create a new list
   */ 
  addTest = list_create();  
  printf("\tTest01a - add single element\n");
  list_add_element(addTest,10);
  list_show(addTest);  

  printf("\tTest01b - add more   elements\n");
  list_add_element(addTest,20);
  list_add_element(addTest,30);
  list_add_element(addTest,40);
  list_add_element(addTest,50);
  list_add_element(addTest,60);  
  list_show(addTest);
  printf("\tTest01b - size of list %d\n", list_size(addTest));

  printf("\tTest02a - add to front\n");  
  list_push_front(addTest, 111);
  list_show(addTest);
  printf("\tTest02a - size of list %d\n", list_size(addTest));

  printf("\tTest03a - add to back\n");;  
  list_push_back(addTest, 222);
  list_show(addTest);
  printf("\tTest03a - size of list %d\n", list_size(addTest));

  emplaceTest = list_create();
  
  printf("\tTest04a - emplace\n");
  list_add_element(emplaceTest, 1);
  list_add_element(emplaceTest, 2);
  list_add_element(emplaceTest, 3);
  list_add_element(emplaceTest, 4);  
  list_show(emplaceTest);
  printf("\tTest04a - size of list 4 = %d\n", list_size(emplaceTest));

  printf("\tTest05a - emplace at position 2\n");    
  list_add_position(emplaceTest, 2, 5);
  list_show(emplaceTest);  
  printf("\tTest05a - size of list %d\n", list_size(emplaceTest));

  printf("\tTest05b get at position 2 (5) %d\n", list_get_position(emplaceTest, 2));
  
  printf("\tTest05c - emplace at position 0\n");    
  list_add_position(emplaceTest, 0, 555);
  list_show(emplaceTest);  
  printf("\tTest05c - size of list %d\n", list_size(emplaceTest));
  printf("\tTest05c get at position 2 (555) %d\n", list_get_position(emplaceTest, 0));

  printf("\tTest05d - emplace at position size+1\n");    
  list_add_position(emplaceTest, (list_size(emplaceTest)+1), 100);
  
  printf("**** Linked List Test - add Ends\n");
  
  return 0;
}
Exemplo n.º 5
0
void main()
{
	queue* myQueue = list_new();
	assert(myQueue);
	assert(myQueue->head->num == 0);
	assert(myQueue->tail->num == 0);
	
	printf("test no queue passed in\n");
	int ret = list_remove_element(NULL, 9);
	assert (ret == ULT_INVALID);
	
	/*
	printf("\ntest empty list\n");
	ret = list_remove_element(myQueue, 12);
	assert (ret == ULT_NONE);
	*/
	
	printf("\ntest add to invalid queue\n");
	ret = list_add_element(NULL);
	assert (ret == ULT_FAILED);
	
	printf("\ntest add 1 element\n");
	ret = list_add_element(myQueue);
	printf("first element after tid 0: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	printf("\ntest add another element\n");
	ret = list_add_element(myQueue);
	printf("second element after tid 0: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	//TESTS FOR LIST_REMOVE_HEAD
	printf("\ntest remove first element 3 times\n");
	ret = list_remove_head(myQueue);
	printf("element's tid: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	ret = list_remove_head(myQueue);
	printf("element's tid: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	ret = list_remove_head(myQueue);
	printf("element's tid: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	printf("\ntest add another element after emptying queue\n");
	ret = list_add_element(myQueue);
	printf("element: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	/*
	//TESTS FOR LIST_REMOVE_ELEMENT
	printf("\ntest remove third element\n");
	ret = list_remove_element(myQueue, 2);
	printf("element's tid: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	printf("\ntest remove second element\n");
	ret = list_remove_element(myQueue, 1);
	printf("element's tid: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	printf("\ntest remove first element\n");
	ret = list_remove_element(myQueue, 0);
	printf("element's tid: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	printf("\ntest remove no more elements\n");
	ret = list_remove_element(myQueue, 1);
	printf("element's tid: %d\n", ret);
	assert (ret == ULT_INVALID);
	
	printf("\ntest add another element after emptying list\n");
	ret = list_add_element(myQueue);
	printf("element: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	printf("\ntest add 2nd element after emptying list\n");
	ret = list_add_element(myQueue);
	printf("element: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	printf("\ntest add 3rd element after emptying list\n");
	ret = list_add_element(myQueue);
	printf("element: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	
	printf("\ntest remove second element AGAIN\n");
	ret = list_remove_element(myQueue, 1);
	printf("element's tid: %d\n", ret);
	assert (ULT_isOKRet(ret));
	
	printf("\ninside queue, %d elements\n", myQueue->numTCB);
	list_print(myQueue);
	list_print_backwards(myQueue);
	*/
}