コード例 #1
0
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);
}
コード例 #2
0
ファイル: ll_stack.c プロジェクト: rbischoff/datastructs
bool stack_is_sorted(stack *s, int(*cmp)(double, double)){
    return ll_is_sorted(s->head, cmp);
}