Ejemplo n.º 1
0
Archivo: array.c Proyecto: goriy/sif
int main (void)
{
m_t *p;

  array_init (&a, sizeof(m_t), 2);
  p = array_append_element (&a);
  p->bbb = 5;
  strcpy (p->aaa, "e1");
  p = array_append_element (&a);
  p->bbb = 46;
  strcpy (p->aaa, "e2");
  p = array_append_element (&a);
  p->bbb = 7;
  strcpy (p->aaa, "e3");
  p = array_append_element (&a);
  p->bbb = 339;
  strcpy (p->aaa, "e4");
  p = array_append_element (&a);
  p->bbb = 125;
  strcpy (p->aaa, "e5");

  idx = (m_t**) array_create_index (&a, ccc);

  dump ();
  printf ("-----------\n");
  dump_idx ();


  array_delete_data (&a);
}
Ejemplo n.º 2
0
int main(int argc, char *argv[])
{
	Array *myArray = array_init();
	Element *p;

	assert(myArray);
	size_t size = array_get_size(myArray);

	assert(size == 0);
	int i;

	for (i = 0; i < 1000; ++i) {
		Element *p = new_element(i);

		array_append_element(myArray, p);
		free(p);
	}
	p = new_element(10);
	array_add_element(myArray, 0, p);
	assert(myArray->size == 1001);
	free(p);
	assert(strcmp(myArray->elem[0].test, "ms0:/music/test10.mp3") == 0);
	assert(strcmp(myArray->elem[1].test, "ms0:/music/test0.mp3") == 0);
	assert(strcmp(myArray->elem[10].test, "ms0:/music/test9.mp3") == 0);
	assert(strcmp(myArray->elem[1000].test, "ms0:/music/test999.mp3") == 0);
	assert(myArray->size <= myArray->capable);
	array_del_element(myArray, 0);
	assert(strcmp(myArray->elem[0].test, "ms0:/music/test0.mp3") == 0);
	array_del_element(myArray, 1);
	assert(strcmp(myArray->elem[1].test, "ms0:/music/test2.mp3") == 0);
	array_del_element(myArray, 998);
	assert(strcmp
		   (myArray->elem[array_get_size(myArray) - 1].test,
			"ms0:/music/test998.mp3") == 0);

	while (array_get_size(myArray)) {
		array_del_element(myArray, 0);
	}
	assert(myArray->size == 0);

	int findpos = array_find_element_by_func(myArray, find_path_name,
											 "ms0:/music/test445.mp3");

	assert(findpos < 0);

	for (i = 0; i < 1000; ++i) {
		Element *p = new_element(i);

		array_append_element(myArray, p);
		free(p);
	}

	findpos =
		array_find_element_by_func(myArray, find_path_name,
								   "ms0:/music/test445.mp3");
	assert(findpos == 445);

	array_swap_element(myArray, 0, 1);
	assert(strcmp(myArray->elem[0].test, "ms0:/music/test1.mp3") == 0);
	assert(strcmp(myArray->elem[1].test, "ms0:/music/test0.mp3") == 0);

	assert(array_swap_element(myArray, 0, 1000) == 0);

	array_free(myArray);
	return 0;
}