더블 링크드 리스트와 링크드 리스트를 이용한 스택 부분에 대해서 궁금한 점이 있습니다...
안녕하세요...
지금 책을 사서 공부하고 있는 학생입니다...
다름이 아니라 궁금한 점이 있어서요...
책 49페이지에 노드 삽입 부분에서 궁금한점이 있어서요...
궁금한 부분은 다음과 같습니다...
if( Current->NextNode !=NULL) {
Current-> NextNode->Previous = NewNode;
Current-> NextNode = NewNode;
}
이렇게 되어 있는데요...
제 생각에는
Current->NextNode = NewNode;
부분이 if문 밖에 있어야 한다고 생각이 되는데요...
왜냐하면 Current->NextNode; 부분이 Null이 되는 경우
다음 Current가 다음 노드를 가리키지 않는데...
혹시 문제가 되지 않을까 생각이 되네요...
물론 노드 추가 부분에서 끝에 추가를 하기 때문에 이 조건이 필요 않을까 생각되지만...
잘못해서... 혹시 끝에 추가하는경우 다음 노드를 가리키지 않아서 오류가 나지 않을 까 하는 생각이 들어서요...
제 생각이 틀린 건지??? 답변 부탁드립니다...
그리고 또 궁금한 부분은
링크드 리스트를 이용한 스택 코드 구현인데요...
책 83 페이지에 Push연산 부분인데요...
최상위 노드를 찾아서 NewNode를 연결하는데요...
이때 책에서는 while문을 써서 했는데...
while문을 사용해서 하지 않고 Top 포인터를 이용해서 바로 할 수는 없나요???
책을 보다가 궁금해서요...
혹시 이렇게 하면 더 좋아질 수 있나해서요...
답변 부탁드립니다...
그럼 이만...