ysysysy3333   1년 전

각주 넣은 부분이 선행노드가 null인 경우인데 왜 새로운 노드에 링크가 null이 아닌 헤드포인터인지 잘 모르겠습니다ㅠㅠ

bamgoesn   1년 전

구현의 디테일과 함수의 인자에 대한 설명이 좀 많이 부족한데... 지금 단방향 연결리스트를 구현하고 계시는 게 맞나요? link 멤버변수는 리스트 각 노드의 바로 앞 노드를 가리키는 포인터인가요? 지금 함수는 p 뒤에 새로운 노드를 추가하는 함수인 건가요? p가 NULL인 경우엔 어떤 동작을 원하시는 건가요?

bamgoesn   1년 전

답변을 어떻게 할지 잘 모르시겠다면 코드 전체를 올려주시는 것도 됩니다.

ysysysy3333   1년 전

// phead: 리스트의 헤드 포인터의 포인터

// p : 선행 노드

// new_node : 삽입될 노드

void insert_node(ListNode **phead, ListNode *p, ListNode *new_node)

{

if( *phead == NULL ){ // 공백리스트인 경우

new_node->link = NULL;

*phead = new_node;

}

else if( p == NULL ){ // pNULL이면 첫번째 노드로 삽입

new_node->link = *phead;

*phead = new_node;

}

else { // p 다음에 삽입

new_node->link = p->link;

p->link = new_node;

}

}

ysysysy3333   1년 전

자료구조 공부하는 피피티에 있는 코드인데 저 함수를 메인함수에서 호출하여 사용하는 방법부터 저 두번째 옵션에대해 의문이 있습니다ㅠ 

댓글을 작성하려면 로그인해야 합니다.