Exemple #1
0
int main(void) {
  LinkedList* list = ll_new(0);
  for(size_t i =1;i<=5;i++)
    ll_insert(list,i,i-1);
  ll_print(list);
  
  list = ll_reverse(list);
  ll_print(list);

  ll_free(list);
  return EXIT_SUCCESS;
}
int main(void)
{
	struct linkedList* myList = llist_create(6);

	for(int i = 5; i > 0; i--)
	{
		llist_add(&myList,i);
	}

	struct linkedList* theirList = llist_create(5);

	for(int i = 1; i < 5; i++)
	{
		llist_add(&theirList,i);
	}

	printf("My list: ");
	ll_print(myList);
	printf("Their list: ");
	ll_print(theirList);

	double sum = ll_sum(myList);
	printf("My sum is: %lf!\n",sum);

	//llist_remove(&myList);

	sum = ll_sum(myList);
	printf("My sum is: %lf!\n",sum);

	// ll_append(myList, theirList);

	bool equality = false;
	equality = ll_equal_by(myList, theirList, cmp);

	printf("My list and their list is equal: %d\n",equality);

	struct linkedList* myList2 = llist_create(5);
	llist_add(&myList2,1);
	llist_add(&myList2,1);
	llist_add(&myList2,5);
	llist_add(&myList2,2);
	llist_add(&myList2,2);
	llist_add(&myList2,3);
	llist_add(&myList2,3);
	llist_add(&myList2,2);
	llist_add(&myList2,3);
	llist_add(&myList2,3);
	printf("My list2: ");
	ll_print(myList2);
	size_t lenOfList = ll_flatten(myList2,cmp);
	printf("Length of list2 after flatten: %zd\n",lenOfList);

	printf("My list2: ");
	ll_print(myList2);

	bool isSort = ll_is_sorted(myList,cmp);
	printf("My list is sort: %d\n",isSort);

	bool isCircular = ll_is_circular(myList);
	printf("My list is circular: %d\n",isCircular);
	// ll_append(myList, myList);
	// bool isCircular2 = ll_is_circular(myList);
	// printf("is circular2: %d\n",isCircular2);

	printf("My list before reverse: ");
	ll_print(myList);
	ll_reverse(&myList);
	printf("My list after reverse: ");
	ll_print(myList);


	printf("My list before insert: ");
	ll_print(myList);
	ll_insert_sorted(&myList,72);
	printf("My list after insert: ");
	ll_print(myList);

	llist_destroy(myList2);
	llist_destroy(myList);
	// llist_destroy(theirList);
	return(0);
}
Exemple #3
0
void stack_reverse(stack **s){
    struct llist *tmp = (*s)->head;
    ll_reverse(&tmp);
    (*s)->head = tmp;

}