Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void setCursor(IteratorG it, Node tailToSet, Node headToSet, Node currToSet) {
- /*printf("\nSetting Head to ");
- if(headToSet != NULL) {
- printf("%d\n", *(int*)headToSet->value);
- } else {
- printf("NULL\n");
- }
- */
- it->head = headToSet;
- /*
- printf("Setting Tail to ");
- if(tailToSet != NULL) {
- printf("%d\n", *(int*)tailToSet->value);
- } else {
- printf("NULL\n");
- }*/
- it->tail = tailToSet;
- it->curr = currToSet;
- }
- static Node firstNode(IteratorG it) {
- return it->first;
- }
- static Node lastNode(IteratorG it) {
- return it->last;
- }
- static Node headNode(IteratorG it) {
- return it->head;
- }
- static Node tailNode(IteratorG it) {
- return it->tail;
- }
- static Node currNode(IteratorG it) {
- return it->curr;
- }
- static int numItems(IteratorG it) {
- return it->nitems;
- }
- void printList(IteratorG it) {
- printf("\n\n");
- Node head = headNode(it);
- Node tail = tailNode(it);
- Node curr = currNode(it);
- //setCursor(it, NULL, firstNode(it));
- reset(it);
- Node v = nextNode(it);
- printf("\033[032m");
- printf("\033[s");
- printf("\033[2A");
- printf(" ITEMS");
- printf("\033[u");
- printf("\033[1A");
- printf(" %d", numItems(it));
- printf("\033[u");
- printf("\033[037m");
- if(tail == NULL) {
- printf(" \033[036mNULL\033[037m <-> ");
- } else {
- printf(" \033[031mNULL\033[037m <-> ");
- }
- while(v != NULL) {
- /*
- printf("\033[s");
- printf("\033[3A");
- printPointers(it);
- printf("\033[u");
- */
- /*
- First Node = Green
- Last Node = Cyan
- Head Node = Yellow
- Tail Node = Light Blue
- */
- if(v == firstNode(it)) {
- printf("\033[032m");
- printf("\033[s");
- printf("\033[2A");
- printf("FIRST");
- printf("\033[u");
- printf("\033[1A");
- printf(" \u2193");
- printf("\033[u");
- printf("\033[037m");
- } else if(v == lastNode(it)) {
- printf("\033[032m");
- printf("\033[s");
- printf("\033[2A");
- printf("LAST");
- printf("\033[u");
- printf("\033[1A");
- printf("\u2193");
- printf("\033[u");
- printf("\033[037m");
- }
- if(v == curr) {
- printf("\033[033m");
- printf("\033[s");
- printf("\033[1A");
- printf("CURR");
- printf("\033[u");
- printf("\033[037m");
- }
- if(v == head) {
- printf("\033[035m");
- } else if(v == tail) {
- printf("\033[036m");
- }
- printf("[%d]\033[037m <-> ", *(int*)v->value);
- fflush(stdout);
- v = nextNode(it);
- }
- if(head == NULL) {
- printf("\033[035mNULL\033[037m");
- } else {
- printf("\033[031mNULL\033[037m");
- }
- setCursor(it, tail, head, curr);
- printf("\n\n\n");
- fflush(stdout);
- }
- void printPointers(IteratorG it) {
- //printf("\n");
- printf("First: ");
- if(it->first != NULL) {
- printf("%d", *(int*)it->first->value);
- } else {
- printf(" N");
- }
- printf(" | ");
- printf("Last: ");
- if(it->last != NULL) {
- printf("%d", *(int*)it->last->value);
- } else {
- printf(" N");
- }
- printf(" | ");
- printf("Tail: ");
- if(it->tail != NULL) {
- printf("%d", *(int*)it->tail->value);
- } else {
- printf(" N");
- }
- printf(" | ");
- printf("Head: ");
- if(it->head != NULL) {
- printf("%d", *(int*)it->head->value);
- } else {
- printf(" N");
- }
- //printf("\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement