Eduardo Nava / Mbed 2 deprecated MazeRunner_Fall2017

Dependencies:   4DGL-uLCD-SE mbed wave_player

Fork of MazeRunner_Fall2017-shell by Eduardo Nava

Committer:
navaem
Date:
Fri Dec 29 15:32:31 2017 +0000
Revision:
1:2c6ae0fe9a2a
Parent:
0:cf4396614a79
December 29, 2017;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rconnorlawson 0:cf4396614a79 1 #include <stdlib.h>
rconnorlawson 0:cf4396614a79 2 #include <stdio.h>
rconnorlawson 0:cf4396614a79 3 #include "doublely_linked_list.h"
rconnorlawson 0:cf4396614a79 4
rconnorlawson 0:cf4396614a79 5 DLinkedList* create_dlinkedlist(void) {
rconnorlawson 0:cf4396614a79 6 DLinkedList* newList = (DLinkedList*)malloc(sizeof(DLinkedList));
rconnorlawson 0:cf4396614a79 7 newList->head = NULL;
rconnorlawson 0:cf4396614a79 8 newList->tail = NULL;
rconnorlawson 0:cf4396614a79 9 newList->current = NULL;
rconnorlawson 0:cf4396614a79 10 newList->size = 0;
rconnorlawson 0:cf4396614a79 11 return newList;
rconnorlawson 0:cf4396614a79 12 }
rconnorlawson 0:cf4396614a79 13
navaem 1:2c6ae0fe9a2a 14 //i made
rconnorlawson 0:cf4396614a79 15 LLNode* create_llnode(void* data) {
rconnorlawson 0:cf4396614a79 16
navaem 1:2c6ae0fe9a2a 17 LLNode* newNode = (LLNode*)malloc(sizeof(LLNode));
navaem 1:2c6ae0fe9a2a 18 newNode->previous = NULL;
navaem 1:2c6ae0fe9a2a 19 newNode->next = NULL;
navaem 1:2c6ae0fe9a2a 20 newNode->data = data;
navaem 1:2c6ae0fe9a2a 21 return newNode;
rconnorlawson 0:cf4396614a79 22 }
rconnorlawson 0:cf4396614a79 23
rconnorlawson 0:cf4396614a79 24
rconnorlawson 0:cf4396614a79 25 void insertHead(DLinkedList* dLinkedList, void* data){
rconnorlawson 0:cf4396614a79 26 LLNode* newNode = create_llnode(data);
rconnorlawson 0:cf4396614a79 27 if(dLinkedList->head == NULL){
rconnorlawson 0:cf4396614a79 28 dLinkedList->size++;
rconnorlawson 0:cf4396614a79 29 dLinkedList->head = newNode;
rconnorlawson 0:cf4396614a79 30 dLinkedList->tail = newNode;
rconnorlawson 0:cf4396614a79 31 }else{
rconnorlawson 0:cf4396614a79 32 dLinkedList->size++;
rconnorlawson 0:cf4396614a79 33 newNode->next = dLinkedList->head;
rconnorlawson 0:cf4396614a79 34 (dLinkedList->head)->previous = newNode;
rconnorlawson 0:cf4396614a79 35 dLinkedList->head = newNode;
rconnorlawson 0:cf4396614a79 36 }
rconnorlawson 0:cf4396614a79 37
rconnorlawson 0:cf4396614a79 38 }
rconnorlawson 0:cf4396614a79 39
navaem 1:2c6ae0fe9a2a 40 //i made
navaem 1:2c6ae0fe9a2a 41 void insertTail(DLinkedList* dLinkedList, void* data){
navaem 1:2c6ae0fe9a2a 42
navaem 1:2c6ae0fe9a2a 43 LLNode* newNode = create_llnode(data);
navaem 1:2c6ae0fe9a2a 44 if(dLinkedList->head == NULL){
navaem 1:2c6ae0fe9a2a 45 dLinkedList->size++;
navaem 1:2c6ae0fe9a2a 46 dLinkedList->head = newNode;
navaem 1:2c6ae0fe9a2a 47 dLinkedList->tail = newNode;
navaem 1:2c6ae0fe9a2a 48 }else {
navaem 1:2c6ae0fe9a2a 49 dLinkedList->size++;
navaem 1:2c6ae0fe9a2a 50 newNode->previous = dLinkedList->tail;
navaem 1:2c6ae0fe9a2a 51 (dLinkedList->tail)->next = newNode;
navaem 1:2c6ae0fe9a2a 52 dLinkedList->tail = newNode;
navaem 1:2c6ae0fe9a2a 53 }
navaem 1:2c6ae0fe9a2a 54 }
navaem 1:2c6ae0fe9a2a 55
navaem 1:2c6ae0fe9a2a 56 //i made
rconnorlawson 0:cf4396614a79 57 int insertAfter(DLinkedList* dLinkedList, void* newData){
rconnorlawson 0:cf4396614a79 58
navaem 1:2c6ae0fe9a2a 59 if(dLinkedList->current==NULL){
navaem 1:2c6ae0fe9a2a 60 return 0;
navaem 1:2c6ae0fe9a2a 61 }else if(dLinkedList->current==dLinkedList->tail){
navaem 1:2c6ae0fe9a2a 62 insertTail(dLinkedList, newData);
navaem 1:2c6ae0fe9a2a 63 return 1;
navaem 1:2c6ae0fe9a2a 64 }
navaem 1:2c6ae0fe9a2a 65 else{
navaem 1:2c6ae0fe9a2a 66 LLNode* newNode = create_llnode(newData);
navaem 1:2c6ae0fe9a2a 67 LLNode* nextNode = (dLinkedList->current)->next;
navaem 1:2c6ae0fe9a2a 68 nextNode->previous = newNode;
navaem 1:2c6ae0fe9a2a 69 (dLinkedList->current)->next = newNode;
navaem 1:2c6ae0fe9a2a 70 newNode->previous = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 71 newNode->next = nextNode;
navaem 1:2c6ae0fe9a2a 72 dLinkedList->size++;
navaem 1:2c6ae0fe9a2a 73 return 1;
navaem 1:2c6ae0fe9a2a 74 }
navaem 1:2c6ae0fe9a2a 75 }
rconnorlawson 0:cf4396614a79 76
navaem 1:2c6ae0fe9a2a 77 //i made
navaem 1:2c6ae0fe9a2a 78 int insertBefore(DLinkedList* dLinkedList, void* newData){
navaem 1:2c6ae0fe9a2a 79
navaem 1:2c6ae0fe9a2a 80 if (dLinkedList->current == NULL)
navaem 1:2c6ae0fe9a2a 81 return 0;
navaem 1:2c6ae0fe9a2a 82 else if(dLinkedList->current==dLinkedList->head){
navaem 1:2c6ae0fe9a2a 83 insertHead(dLinkedList,newData);
navaem 1:2c6ae0fe9a2a 84 return 1;
navaem 1:2c6ae0fe9a2a 85 }
navaem 1:2c6ae0fe9a2a 86 else {
navaem 1:2c6ae0fe9a2a 87 LLNode* newNode = create_llnode(newData);
navaem 1:2c6ae0fe9a2a 88 LLNode* prevNode = (dLinkedList->current)->previous;
navaem 1:2c6ae0fe9a2a 89 prevNode->next = newNode;
navaem 1:2c6ae0fe9a2a 90 (dLinkedList->current)->previous = newNode;
navaem 1:2c6ae0fe9a2a 91 newNode->previous = prevNode;
navaem 1:2c6ae0fe9a2a 92 newNode->next = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 93 dLinkedList->size++;
navaem 1:2c6ae0fe9a2a 94 return 1;
navaem 1:2c6ae0fe9a2a 95 }
rconnorlawson 0:cf4396614a79 96 }
rconnorlawson 0:cf4396614a79 97
navaem 1:2c6ae0fe9a2a 98 //i made
navaem 1:2c6ae0fe9a2a 99 void* deleteBackward(DLinkedList* dLinkedList){
navaem 1:2c6ae0fe9a2a 100 LLNode* currNode = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 101 if (currNode == NULL)
navaem 1:2c6ae0fe9a2a 102 return NULL;
navaem 1:2c6ae0fe9a2a 103 else if (getSize(dLinkedList)==1){
navaem 1:2c6ae0fe9a2a 104 dLinkedList->current = NULL;
navaem 1:2c6ae0fe9a2a 105 dLinkedList->head = NULL;
navaem 1:2c6ae0fe9a2a 106 dLinkedList->tail = NULL;
navaem 1:2c6ae0fe9a2a 107 free(currNode->data);
navaem 1:2c6ae0fe9a2a 108 free(currNode);
navaem 1:2c6ae0fe9a2a 109 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 110 return NULL;
navaem 1:2c6ae0fe9a2a 111 } else if(currNode == dLinkedList->head){
navaem 1:2c6ae0fe9a2a 112 dLinkedList->head = currNode->next;
navaem 1:2c6ae0fe9a2a 113 dLinkedList->current = NULL;
navaem 1:2c6ae0fe9a2a 114 (dLinkedList->head)->previous = NULL;
navaem 1:2c6ae0fe9a2a 115 free(currNode->data);
navaem 1:2c6ae0fe9a2a 116 free(currNode);
navaem 1:2c6ae0fe9a2a 117 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 118 return NULL;
navaem 1:2c6ae0fe9a2a 119 } else if(currNode == dLinkedList->tail){
navaem 1:2c6ae0fe9a2a 120 dLinkedList->tail = currNode->previous;
navaem 1:2c6ae0fe9a2a 121 (dLinkedList->tail)->next = NULL;
navaem 1:2c6ae0fe9a2a 122 dLinkedList->current = dLinkedList->tail;
navaem 1:2c6ae0fe9a2a 123 free(currNode->data);
navaem 1:2c6ae0fe9a2a 124 free(currNode);
navaem 1:2c6ae0fe9a2a 125 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 126 return getCurrent(dLinkedList);
navaem 1:2c6ae0fe9a2a 127 } else {
navaem 1:2c6ae0fe9a2a 128 (currNode->previous)->next = currNode->next;
navaem 1:2c6ae0fe9a2a 129 dLinkedList->current = currNode->previous;
navaem 1:2c6ae0fe9a2a 130 (currNode->next)->previous = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 131 free(currNode->data);
navaem 1:2c6ae0fe9a2a 132 free(currNode);
navaem 1:2c6ae0fe9a2a 133 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 134 return getCurrent(dLinkedList);
navaem 1:2c6ae0fe9a2a 135 }
rconnorlawson 0:cf4396614a79 136 }
rconnorlawson 0:cf4396614a79 137
rconnorlawson 0:cf4396614a79 138
navaem 1:2c6ae0fe9a2a 139 //i made
navaem 1:2c6ae0fe9a2a 140 void* deleteForward(DLinkedList* dLinkedList)
navaem 1:2c6ae0fe9a2a 141 {
navaem 1:2c6ae0fe9a2a 142 LLNode* currNode = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 143 if (currNode == NULL)
navaem 1:2c6ae0fe9a2a 144 return NULL;
navaem 1:2c6ae0fe9a2a 145 else if (getSize(dLinkedList)==1){
navaem 1:2c6ae0fe9a2a 146 dLinkedList->current = NULL;
navaem 1:2c6ae0fe9a2a 147 dLinkedList->head = NULL;
navaem 1:2c6ae0fe9a2a 148 dLinkedList->tail = NULL;
navaem 1:2c6ae0fe9a2a 149 free(currNode->data);
navaem 1:2c6ae0fe9a2a 150 free(currNode);
navaem 1:2c6ae0fe9a2a 151 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 152 return NULL;
navaem 1:2c6ae0fe9a2a 153 } else if(currNode == dLinkedList->head){
navaem 1:2c6ae0fe9a2a 154 dLinkedList->head = currNode->next;
navaem 1:2c6ae0fe9a2a 155 dLinkedList->current = currNode->next;
navaem 1:2c6ae0fe9a2a 156 (dLinkedList->head)->previous = NULL;
navaem 1:2c6ae0fe9a2a 157 free(currNode->data);
navaem 1:2c6ae0fe9a2a 158 free(currNode);
navaem 1:2c6ae0fe9a2a 159 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 160 return getCurrent(dLinkedList);
navaem 1:2c6ae0fe9a2a 161 } else if(currNode == dLinkedList->tail){
navaem 1:2c6ae0fe9a2a 162 dLinkedList->tail = currNode->previous;
navaem 1:2c6ae0fe9a2a 163 (dLinkedList->tail)->next = NULL;
navaem 1:2c6ae0fe9a2a 164 dLinkedList->current = NULL;
navaem 1:2c6ae0fe9a2a 165 free(currNode->data);
navaem 1:2c6ae0fe9a2a 166 free(currNode);
navaem 1:2c6ae0fe9a2a 167 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 168 return NULL;
navaem 1:2c6ae0fe9a2a 169 } else {
navaem 1:2c6ae0fe9a2a 170 (currNode->next)->previous = currNode->previous;
navaem 1:2c6ae0fe9a2a 171 dLinkedList->current = currNode->next;
navaem 1:2c6ae0fe9a2a 172 (currNode->previous)->next = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 173 free(currNode->data);
navaem 1:2c6ae0fe9a2a 174 free(currNode);
navaem 1:2c6ae0fe9a2a 175 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 176 return getCurrent(dLinkedList);
navaem 1:2c6ae0fe9a2a 177 }
navaem 1:2c6ae0fe9a2a 178 }
rconnorlawson 0:cf4396614a79 179
navaem 1:2c6ae0fe9a2a 180 //i made
navaem 1:2c6ae0fe9a2a 181 void* removeBackward(DLinkedList* dLinkedList){
navaem 1:2c6ae0fe9a2a 182 LLNode* currNode = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 183 if (currNode == NULL)
navaem 1:2c6ae0fe9a2a 184 return NULL;
navaem 1:2c6ae0fe9a2a 185 else if (getSize(dLinkedList)==1){
navaem 1:2c6ae0fe9a2a 186 void* ldata = currNode->data;
navaem 1:2c6ae0fe9a2a 187 dLinkedList->current = NULL;
navaem 1:2c6ae0fe9a2a 188 dLinkedList->tail = NULL;
navaem 1:2c6ae0fe9a2a 189 dLinkedList->head = NULL;
navaem 1:2c6ae0fe9a2a 190 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 191 free(currNode);
navaem 1:2c6ae0fe9a2a 192 return ldata;
navaem 1:2c6ae0fe9a2a 193 }else if (dLinkedList->current == dLinkedList->head){
navaem 1:2c6ae0fe9a2a 194 void* ldata = currNode->data;
navaem 1:2c6ae0fe9a2a 195 dLinkedList->head = currNode->next;
navaem 1:2c6ae0fe9a2a 196 (dLinkedList->head)->previous = NULL;
navaem 1:2c6ae0fe9a2a 197 dLinkedList->current = NULL;
navaem 1:2c6ae0fe9a2a 198 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 199 free(currNode);
navaem 1:2c6ae0fe9a2a 200 return ldata;
navaem 1:2c6ae0fe9a2a 201 }else if (dLinkedList->current == dLinkedList->tail){
navaem 1:2c6ae0fe9a2a 202 void* ldata = currNode->data;
navaem 1:2c6ae0fe9a2a 203 dLinkedList->current = currNode->previous;
navaem 1:2c6ae0fe9a2a 204 dLinkedList->tail = currNode->previous;
navaem 1:2c6ae0fe9a2a 205 (dLinkedList->tail)->next = NULL;
navaem 1:2c6ae0fe9a2a 206 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 207 free(currNode);
navaem 1:2c6ae0fe9a2a 208 return ldata;
navaem 1:2c6ae0fe9a2a 209 }else {
navaem 1:2c6ae0fe9a2a 210 void* ldata = currNode->data;
navaem 1:2c6ae0fe9a2a 211 dLinkedList->current = currNode->previous;
navaem 1:2c6ae0fe9a2a 212 (dLinkedList->current)->next = currNode->next;
navaem 1:2c6ae0fe9a2a 213 (currNode->next)->previous = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 214 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 215 free(currNode);
navaem 1:2c6ae0fe9a2a 216 return ldata;
navaem 1:2c6ae0fe9a2a 217 }
rconnorlawson 0:cf4396614a79 218
rconnorlawson 0:cf4396614a79 219 }
rconnorlawson 0:cf4396614a79 220
navaem 1:2c6ae0fe9a2a 221 //i made
navaem 1:2c6ae0fe9a2a 222 void* removeForward(DLinkedList* dLinkedList)
navaem 1:2c6ae0fe9a2a 223 {
navaem 1:2c6ae0fe9a2a 224 LLNode* currNode = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 225 if (currNode == NULL)
navaem 1:2c6ae0fe9a2a 226 return NULL;
navaem 1:2c6ae0fe9a2a 227 else if (getSize(dLinkedList)==1){
navaem 1:2c6ae0fe9a2a 228 void* ldata = currNode->data;
navaem 1:2c6ae0fe9a2a 229 dLinkedList->current = NULL;
navaem 1:2c6ae0fe9a2a 230 dLinkedList->tail = NULL;
navaem 1:2c6ae0fe9a2a 231 dLinkedList->head = NULL;
navaem 1:2c6ae0fe9a2a 232 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 233 free(currNode);
navaem 1:2c6ae0fe9a2a 234 return ldata;
navaem 1:2c6ae0fe9a2a 235 }else if (dLinkedList->current == dLinkedList->head){
navaem 1:2c6ae0fe9a2a 236 void* ldata = currNode->data;
navaem 1:2c6ae0fe9a2a 237 dLinkedList->head = currNode->next;
navaem 1:2c6ae0fe9a2a 238 (dLinkedList->head)->previous = NULL;
navaem 1:2c6ae0fe9a2a 239 dLinkedList->current = currNode->next;
navaem 1:2c6ae0fe9a2a 240 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 241 free(currNode);
navaem 1:2c6ae0fe9a2a 242 return ldata;
navaem 1:2c6ae0fe9a2a 243 }else if (dLinkedList->current == dLinkedList->tail){
navaem 1:2c6ae0fe9a2a 244 void* ldata = currNode->data;
navaem 1:2c6ae0fe9a2a 245 dLinkedList->current = NULL;
navaem 1:2c6ae0fe9a2a 246 dLinkedList->tail = currNode->previous;
navaem 1:2c6ae0fe9a2a 247 (dLinkedList->tail)->next = NULL;
navaem 1:2c6ae0fe9a2a 248 free(currNode);
navaem 1:2c6ae0fe9a2a 249 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 250 return ldata;
navaem 1:2c6ae0fe9a2a 251 }else {
navaem 1:2c6ae0fe9a2a 252 void* ldata = currNode->data;
navaem 1:2c6ae0fe9a2a 253 dLinkedList->current = currNode->next;
navaem 1:2c6ae0fe9a2a 254 (dLinkedList->current)->previous = currNode->previous;
navaem 1:2c6ae0fe9a2a 255 (currNode->previous)->next = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 256 free(currNode);
navaem 1:2c6ae0fe9a2a 257 dLinkedList->size--;
navaem 1:2c6ae0fe9a2a 258 return ldata;
navaem 1:2c6ae0fe9a2a 259 }
rconnorlawson 0:cf4396614a79 260
rconnorlawson 0:cf4396614a79 261 }
rconnorlawson 0:cf4396614a79 262
rconnorlawson 0:cf4396614a79 263
rconnorlawson 0:cf4396614a79 264 void destroyList(DLinkedList* dLinkedList){
rconnorlawson 0:cf4396614a79 265 if(dLinkedList->head != NULL){
rconnorlawson 0:cf4396614a79 266 getHead(dLinkedList);
rconnorlawson 0:cf4396614a79 267 while(deleteForward(dLinkedList)){};
rconnorlawson 0:cf4396614a79 268 }
rconnorlawson 0:cf4396614a79 269 free(dLinkedList);
rconnorlawson 0:cf4396614a79 270 }
rconnorlawson 0:cf4396614a79 271
navaem 1:2c6ae0fe9a2a 272 //i made
rconnorlawson 0:cf4396614a79 273 void* getHead(DLinkedList* dLinkedList){
rconnorlawson 0:cf4396614a79 274
navaem 1:2c6ae0fe9a2a 275 LLNode* head = dLinkedList->head;
navaem 1:2c6ae0fe9a2a 276 if (head == NULL)
navaem 1:2c6ae0fe9a2a 277 return NULL;
navaem 1:2c6ae0fe9a2a 278 else {
navaem 1:2c6ae0fe9a2a 279 dLinkedList->current = dLinkedList->head;
navaem 1:2c6ae0fe9a2a 280 return head->data;
navaem 1:2c6ae0fe9a2a 281 }
navaem 1:2c6ae0fe9a2a 282 }
navaem 1:2c6ae0fe9a2a 283
rconnorlawson 0:cf4396614a79 284
navaem 1:2c6ae0fe9a2a 285 //i made
navaem 1:2c6ae0fe9a2a 286 void* getTail(DLinkedList* dLinkedList){
navaem 1:2c6ae0fe9a2a 287
navaem 1:2c6ae0fe9a2a 288 LLNode* tail = dLinkedList->tail;
navaem 1:2c6ae0fe9a2a 289 if (tail == NULL)
navaem 1:2c6ae0fe9a2a 290 return NULL;
navaem 1:2c6ae0fe9a2a 291 else {
navaem 1:2c6ae0fe9a2a 292 dLinkedList->current = dLinkedList->tail;
navaem 1:2c6ae0fe9a2a 293 return tail->data;
navaem 1:2c6ae0fe9a2a 294 }
rconnorlawson 0:cf4396614a79 295 }
rconnorlawson 0:cf4396614a79 296
rconnorlawson 0:cf4396614a79 297
navaem 1:2c6ae0fe9a2a 298 //i made
navaem 1:2c6ae0fe9a2a 299 void* getCurrent(DLinkedList* dLinkedList){
rconnorlawson 0:cf4396614a79 300
navaem 1:2c6ae0fe9a2a 301 LLNode* currNode = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 302 if (currNode==NULL)
navaem 1:2c6ae0fe9a2a 303 return NULL;
navaem 1:2c6ae0fe9a2a 304 else
navaem 1:2c6ae0fe9a2a 305 return currNode->data;
navaem 1:2c6ae0fe9a2a 306 }
navaem 1:2c6ae0fe9a2a 307
navaem 1:2c6ae0fe9a2a 308
navaem 1:2c6ae0fe9a2a 309 //i made
navaem 1:2c6ae0fe9a2a 310 void* getNext(DLinkedList* dLinkedList){
rconnorlawson 0:cf4396614a79 311
navaem 1:2c6ae0fe9a2a 312 LLNode* currNode = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 313 if (currNode == NULL)
navaem 1:2c6ae0fe9a2a 314 return NULL;
navaem 1:2c6ae0fe9a2a 315 else if (currNode->next == NULL) {
navaem 1:2c6ae0fe9a2a 316 dLinkedList->current = NULL;
navaem 1:2c6ae0fe9a2a 317 return NULL;
navaem 1:2c6ae0fe9a2a 318 }else{
navaem 1:2c6ae0fe9a2a 319 dLinkedList->current = currNode->next;
navaem 1:2c6ae0fe9a2a 320 return (currNode->next)->data;
navaem 1:2c6ae0fe9a2a 321 }
navaem 1:2c6ae0fe9a2a 322 }
navaem 1:2c6ae0fe9a2a 323
navaem 1:2c6ae0fe9a2a 324
navaem 1:2c6ae0fe9a2a 325 //i made
navaem 1:2c6ae0fe9a2a 326 void* getPrevious(DLinkedList* dLinkedList){
rconnorlawson 0:cf4396614a79 327
navaem 1:2c6ae0fe9a2a 328 LLNode* currNode = dLinkedList->current;
navaem 1:2c6ae0fe9a2a 329 if (currNode == NULL)
navaem 1:2c6ae0fe9a2a 330 return NULL;
navaem 1:2c6ae0fe9a2a 331 else if (currNode->previous == NULL) {
navaem 1:2c6ae0fe9a2a 332 dLinkedList->current = NULL;
navaem 1:2c6ae0fe9a2a 333 return NULL;
navaem 1:2c6ae0fe9a2a 334 }else{
navaem 1:2c6ae0fe9a2a 335 dLinkedList->current = currNode->previous;
navaem 1:2c6ae0fe9a2a 336 return (currNode->previous)->data;
navaem 1:2c6ae0fe9a2a 337 }
navaem 1:2c6ae0fe9a2a 338 }
navaem 1:2c6ae0fe9a2a 339
navaem 1:2c6ae0fe9a2a 340 //i made
navaem 1:2c6ae0fe9a2a 341 int getSize(DLinkedList* dLinkedList){
navaem 1:2c6ae0fe9a2a 342
navaem 1:2c6ae0fe9a2a 343 return dLinkedList->size;
rconnorlawson 0:cf4396614a79 344 }
rconnorlawson 0:cf4396614a79 345
rconnorlawson 0:cf4396614a79 346
rconnorlawson 0:cf4396614a79 347