|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3414 [복사]
void insert_node(ListNode **phead, ListNode *p, ListNode *new_node)
{
if( *phead == NULL ){ // 공백리스트인 경우
new_node->link = NULL;
*phead = new_node;
}
else if( p == NULL ){ // p가 NULL이면 첫번째 노드로 삽입
new_node->link = *phead;
*phead = new_node;
}
else { // p 다음에 삽입
new_node->link = p->link;
p->link = new_node;
}
}
void remove_node(ListNode **phead, ListNode *p, ListNode *removed)
{
if( p == NULL )
*phead = (*phead)->link;
else
p->link = removed->link;
free(removed);
}
이 조건으로 다른 함수를 만드는 문제 인데요..ㅜㅜㅜㅜ
----------------------------------------------------------------------------------------------
void insertLast (ListNode **phead, ListNode *new_node)
- 단순연결리스트의 맨 뒤에 노드를 추가
void removeLast(ListNode *head, ListNode *new_node)
- 단순연결리스트의 맨 뒤의 노드를 삭제
이 두 함수를 만들어야 하는데... 도저히 어떻게 해야할지 모르겟어요.. |
Hit : 5363 Date : 2012/05/16 01:51
|