int main(int argc, char* argv[]) { LinkedListHandle* list = LinkedListNew(); int values[5] = {0,1,2,3,4}; int i = 0; for (i = 0; i < 5; i++) { LinkedListAppend(&values[i], list); } i=0; LinkedListNode* node = LinkedListFirst(list); do { DBG_ASSERT( *((int*)LinkedListValueFromNode(node)) == values[i] ); i++; } while( (node = LinkedListNextNode(node)) ); DBG_ASSERT( i == 5); DBG_ASSERT( !LinkedListHasNextNode( LinkedListLast(list) ) ); DBG_ASSERT( LinkedListNodeAt(0, list) == LinkedListFirst(list) ); DBG_ASSERT( LinkedListNodeAt(4, list) == LinkedListLast(list) ); DBG_ASSERT( (*(int*)LinkedListValueFromNode(LinkedListNodeAt(2, list))) == values[2] ); return 0; }
int main(int argc, char* argv[] ) { int value = 0; LinkedListHandle* list = LinkedListNew(); DBG_ASSERT(list != C_NULL); DBG_ASSERT( LinkedListSize(list) == 0 ); LinkedListAppend(&value, list); DBG_ASSERT( LinkedListSize(list) == 1 ); LinkedListPrepend(&value, list); DBG_ASSERT( LinkedListSize(list) == 2 ); LinkedListPrepend(&value, list); DBG_ASSERT( LinkedListSize(list) == 3 ); LinkedListAppend(&value, list); DBG_ASSERT( LinkedListSize(list) == 4 ); LinkedListAppend(&value, list); DBG_ASSERT( LinkedListSize(list) == 5 ); LinkedListPop(list); DBG_ASSERT( LinkedListSize(list) == 4 ); LinkedListPop(list); DBG_ASSERT( LinkedListSize(list) == 3 ); LinkedListShift(list); DBG_ASSERT( LinkedListSize(list) == 2 ); LinkedListShift(list); DBG_ASSERT( LinkedListSize(list) == 1 ); LinkedListDelete(list); return 0; }
int PushDownStackNew(struct PushDownStack* self) { if (!self) return 1; return LinkedListNew(&self->_list); }