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); }
void stack_reverse(stack **s){ struct llist *tmp = (*s)->head; ll_reverse(&tmp); (*s)->head = tmp; }