16
4.c
16
4.c
@@ -11,12 +11,10 @@ void insert(node **last, int collegeid) {
|
||||
node *dst = malloc(sizeof(node));
|
||||
dst->collegeid = collegeid;
|
||||
|
||||
if (*last == NULL)
|
||||
if (*last == NULL) {
|
||||
dst->next = dst;
|
||||
*last = dst;
|
||||
|
||||
if ((*last)->next == NULL)
|
||||
(*last)->next = dst, dst->next = *last;
|
||||
else {
|
||||
} else {
|
||||
dst->next = (*last)->next;
|
||||
(*last)->next = dst;
|
||||
}
|
||||
@@ -25,18 +23,14 @@ void insert(node **last, int collegeid) {
|
||||
void delete (node **last) {
|
||||
node *prev = NULL;
|
||||
|
||||
if ((*last)->next == NULL)
|
||||
if ((*last)->next == (*last))
|
||||
goto cleanup;
|
||||
|
||||
prev = *last;
|
||||
|
||||
while (prev->next != *last)
|
||||
prev = prev->next;
|
||||
|
||||
if (prev->next->next == prev)
|
||||
prev->next = NULL;
|
||||
else
|
||||
prev->next = (*last)->next;
|
||||
prev->next = (*last)->next;
|
||||
|
||||
cleanup:
|
||||
free(*last);
|
||||
|
Reference in New Issue
Block a user