exp 4: cleanup

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
2022-12-28 04:28:47 +05:30
parent 6b6012ab05
commit 1b9c98247f

14
4.c
View File

@@ -11,12 +11,10 @@ void insert(node **last, int collegeid) {
node *dst = malloc(sizeof(node)); node *dst = malloc(sizeof(node));
dst->collegeid = collegeid; dst->collegeid = collegeid;
if (*last == NULL) if (*last == NULL) {
dst->next = dst;
*last = dst; *last = dst;
} else {
if ((*last)->next == NULL)
(*last)->next = dst, dst->next = *last;
else {
dst->next = (*last)->next; dst->next = (*last)->next;
(*last)->next = dst; (*last)->next = dst;
} }
@@ -25,17 +23,13 @@ void insert(node **last, int collegeid) {
void delete (node **last) { void delete (node **last) {
node *prev = NULL; node *prev = NULL;
if ((*last)->next == NULL) if ((*last)->next == (*last))
goto cleanup; goto cleanup;
prev = *last; prev = *last;
while (prev->next != *last) while (prev->next != *last)
prev = prev->next; prev = prev->next;
if (prev->next->next == prev)
prev->next = NULL;
else
prev->next = (*last)->next; prev->next = (*last)->next;
cleanup: cleanup: