diff options
| author | Thomas Schmucker <ts@its1.de> | 2021-12-29 10:48:03 +0100 |
|---|---|---|
| committer | Thomas Schmucker <ts@its1.de> | 2021-12-29 10:48:03 +0100 |
| commit | 6ced2a50056acbf7caec404a1edfa3b07fa1ac5d (patch) | |
| tree | ef9d4e6bcf9797b74e13ddbf943f424ac1d49664 /dlist.c | |
| parent | 87e013bc707860a6f299a2ee3866965a4fae12be (diff) | |
| download | data-structures-6ced2a50056acbf7caec404a1edfa3b07fa1ac5d.tar.gz data-structures-6ced2a50056acbf7caec404a1edfa3b07fa1ac5d.tar.bz2 data-structures-6ced2a50056acbf7caec404a1edfa3b07fa1ac5d.zip | |
feat: remove NULL-checks
Diffstat (limited to 'dlist.c')
| -rw-r--r-- | dlist.c | 36 |
1 files changed, 18 insertions, 18 deletions
| @@ -47,7 +47,7 @@ create_element(T data) | |||
| 47 | struct dlist_element *element; | 47 | struct dlist_element *element; |
| 48 | 48 | ||
| 49 | element = malloc(sizeof *element); | 49 | element = malloc(sizeof *element); |
| 50 | if ( element != NULL ) { | 50 | if ( element ) { |
| 51 | element->data = data; | 51 | element->data = data; |
| 52 | } | 52 | } |
| 53 | 53 | ||
| @@ -62,7 +62,7 @@ dlist_push_front(struct dlist *dlist, T data) | |||
| 62 | struct dlist_element *element; | 62 | struct dlist_element *element; |
| 63 | 63 | ||
| 64 | element = create_element(data); | 64 | element = create_element(data); |
| 65 | if ( element != NULL ) { | 65 | if ( element ) { |
| 66 | element->prev = NULL; /* Vorgänger ist in jedem Fall NULL */ | 66 | element->prev = NULL; /* Vorgänger ist in jedem Fall NULL */ |
| 67 | 67 | ||
| 68 | if ( dlist_empty(dlist) ) { | 68 | if ( dlist_empty(dlist) ) { |
| @@ -90,7 +90,7 @@ dlist_push_back(struct dlist *dlist, T data) | |||
| 90 | struct dlist_element *element; | 90 | struct dlist_element *element; |
| 91 | 91 | ||
| 92 | element = create_element(data); | 92 | element = create_element(data); |
| 93 | if ( element != NULL ) { | 93 | if ( element ) { |
| 94 | element->next = NULL; /* Nachfolger ist in jedem Fall NULL */ | 94 | element->next = NULL; /* Nachfolger ist in jedem Fall NULL */ |
| 95 | 95 | ||
| 96 | if ( dlist_empty(dlist) ) { | 96 | if ( dlist_empty(dlist) ) { |
| @@ -115,7 +115,7 @@ dlist_push_back(struct dlist *dlist, T data) | |||
| 115 | bool | 115 | bool |
| 116 | dlist_pop_front(struct dlist *dlist, T *data) | 116 | dlist_pop_front(struct dlist *dlist, T *data) |
| 117 | { | 117 | { |
| 118 | if ( dlist->head != NULL ) { | 118 | if ( dlist->head ) { |
| 119 | struct dlist_element *element = dlist->head; | 119 | struct dlist_element *element = dlist->head; |
| 120 | 120 | ||
| 121 | dlist->head = element->next; | 121 | dlist->head = element->next; |
| @@ -125,7 +125,7 @@ dlist_pop_front(struct dlist *dlist, T *data) | |||
| 125 | else | 125 | else |
| 126 | element->next->prev = NULL; | 126 | element->next->prev = NULL; |
| 127 | 127 | ||
| 128 | if ( data != NULL ) { | 128 | if ( data ) { |
| 129 | *data = element->data; | 129 | *data = element->data; |
| 130 | } | 130 | } |
| 131 | free(element); | 131 | free(element); |
| @@ -141,7 +141,7 @@ dlist_pop_front(struct dlist *dlist, T *data) | |||
| 141 | bool | 141 | bool |
| 142 | dlist_pop_back(struct dlist *dlist, T *data) | 142 | dlist_pop_back(struct dlist *dlist, T *data) |
| 143 | { | 143 | { |
| 144 | if ( dlist->head != NULL ) { | 144 | if ( dlist->head ) { |
| 145 | struct dlist_element *element = dlist->tail; | 145 | struct dlist_element *element = dlist->tail; |
| 146 | 146 | ||
| 147 | dlist->tail = element->prev; | 147 | dlist->tail = element->prev; |
| @@ -151,7 +151,7 @@ dlist_pop_back(struct dlist *dlist, T *data) | |||
| 151 | else | 151 | else |
| 152 | element->prev->next = NULL; | 152 | element->prev->next = NULL; |
| 153 | 153 | ||
| 154 | if ( data != NULL ) { | 154 | if ( data ) { |
| 155 | *data = element->data; | 155 | *data = element->data; |
| 156 | } | 156 | } |
| 157 | free(element); | 157 | free(element); |
| @@ -170,7 +170,7 @@ dlist_insert_next(struct dlist *dlist, struct dlist_element *element, T data) | |||
| 170 | struct dlist_element *new_element; | 170 | struct dlist_element *new_element; |
| 171 | 171 | ||
| 172 | new_element = create_element(data); | 172 | new_element = create_element(data); |
| 173 | if ( new_element != NULL ) { | 173 | if ( new_element ) { |
| 174 | if ( dlist->head == NULL ) { | 174 | if ( dlist->head == NULL ) { |
| 175 | dlist->head = new_element; | 175 | dlist->head = new_element; |
| 176 | dlist->head->prev = NULL; | 176 | dlist->head->prev = NULL; |
| @@ -203,7 +203,7 @@ dlist_insert_prev(struct dlist *dlist, struct dlist_element *element, T data) | |||
| 203 | struct dlist_element *new_element; | 203 | struct dlist_element *new_element; |
| 204 | 204 | ||
| 205 | new_element = create_element(data); | 205 | new_element = create_element(data); |
| 206 | if ( new_element != NULL ) { | 206 | if ( new_element ) { |
| 207 | if ( dlist->head == NULL ) { | 207 | if ( dlist->head == NULL ) { |
| 208 | dlist->head = new_element; | 208 | dlist->head = new_element; |
| 209 | dlist->head->prev = NULL; | 209 | dlist->head->prev = NULL; |
| @@ -322,11 +322,11 @@ dlist_merge(struct dlist *list1, struct dlist *list2) | |||
| 322 | *e1 = list1->head, | 322 | *e1 = list1->head, |
| 323 | *e2 = list2->head; | 323 | *e2 = list2->head; |
| 324 | 324 | ||
| 325 | while ( e1 != NULL && e2 != NULL ) // Solange in e1 UND e2 Elemente sind... | 325 | while ( e1 && e2 ) // Solange in e1 UND e2 Elemente sind... |
| 326 | { | 326 | { |
| 327 | if ( e1->data < e2->data ) { | 327 | if ( e1->data < e2->data ) { |
| 328 | e1->prev = cur; | 328 | e1->prev = cur; |
| 329 | if ( cur != NULL ) | 329 | if ( cur ) |
| 330 | cur->next = e1; | 330 | cur->next = e1; |
| 331 | else | 331 | else |
| 332 | head = e1; | 332 | head = e1; |
| @@ -335,7 +335,7 @@ dlist_merge(struct dlist *list1, struct dlist *list2) | |||
| 335 | } | 335 | } |
| 336 | else { | 336 | else { |
| 337 | e2->prev = cur; | 337 | e2->prev = cur; |
| 338 | if ( cur != NULL ) | 338 | if ( cur ) |
| 339 | cur->next = e2; | 339 | cur->next = e2; |
| 340 | else | 340 | else |
| 341 | head = e2; | 341 | head = e2; |
| @@ -344,25 +344,25 @@ dlist_merge(struct dlist *list1, struct dlist *list2) | |||
| 344 | } | 344 | } |
| 345 | } | 345 | } |
| 346 | 346 | ||
| 347 | if ( e1 != NULL ) // in e1 sind noch Elemente vorhanden! | 347 | if ( e1 ) // in e1 sind noch Elemente vorhanden! |
| 348 | { | 348 | { |
| 349 | assert(e2 == NULL); | 349 | assert(e2 == NULL); |
| 350 | 350 | ||
| 351 | e1->prev = cur; | 351 | e1->prev = cur; |
| 352 | if ( cur != NULL ) | 352 | if ( cur ) |
| 353 | cur->next = e1; | 353 | cur->next = e1; |
| 354 | else | 354 | else |
| 355 | head = e1; | 355 | head = e1; |
| 356 | 356 | ||
| 357 | // list1->tail zeigt bereits auf das letzte Element in list1 | 357 | // list1->tail zeigt bereits auf das letzte Element in list1 |
| 358 | } | 358 | } |
| 359 | else /* if ( e2 != NULL ) */ | 359 | else /* if ( e2 ) */ |
| 360 | { | 360 | { |
| 361 | assert(e1 == NULL); | 361 | assert(e1 == NULL); |
| 362 | assert(e2 != NULL); | 362 | assert(e2); |
| 363 | 363 | ||
| 364 | e2->prev = cur; | 364 | e2->prev = cur; |
| 365 | if ( cur != NULL ) | 365 | if ( cur ) |
| 366 | cur->next = e2; | 366 | cur->next = e2; |
| 367 | else | 367 | else |
| 368 | head = e2; | 368 | head = e2; |
| @@ -392,7 +392,7 @@ dlist_sort(struct dlist *list) | |||
| 392 | struct dlist_element *slow = list->head, | 392 | struct dlist_element *slow = list->head, |
| 393 | *fast = list->head->next; | 393 | *fast = list->head->next; |
| 394 | 394 | ||
| 395 | while ( fast != NULL && fast->next != NULL ) | 395 | while ( fast && fast->next ) |
| 396 | slow = slow->next, fast = fast->next->next; | 396 | slow = slow->next, fast = fast->next->next; |
| 397 | 397 | ||
| 398 | struct dlist list1 = { .head = list->head, .tail = slow }, | 398 | struct dlist list1 = { .head = list->head, .tail = slow }, |
