指定された要素の次の要素が新規に追加される要素であり、 追加された要素の次の要素になる要素は、指定要素が以前示していた次の要素である。 この処理を実装すると次のようになる。 なお、追加された要素へのポインタを返り値としている。
list *add_to_mid(list *key, void *val){ |
list *next, *mid; |
mid = (list *)malloc(sizeof(list)); |
mid->val = val; |
mid->next = NULL; |
if( key == NULL ){ |
return(mid); |
} |
next = key->next; |
key->next = mid; |
mid->next = next; |
return(mid); |
} |