public boolean LFirst(LinkedRist plist, Object pdata) {
if(plist.head.next == null)
return false;
plist.before = plist.head;
plist.cur = plist.head.next;
System.out.println("현재 참조하고 있는 노드의 값은" + plist.cur + "입니다.");
p> return true;
}
public boolean LNext(LinkedRist plist, Object pdata) {
if(plist.cur.next == null)
return false;
plist.before = plist.cur;
plist.cur = plist.cur.next;
System.out.println("현재 참조하고 있는 노드의 값은" + plist.cur + "입니다.");
p> return true;
}
연결리스트의 일부인데요. 메서드안의 콘솔출력문을 보면 리스트 자체는 제대로 돌아가는데
pdata로 data가 옮겨가질 않네요. 메인메서드에서
if(tmp.LFirst(list, LData)) {
System.out.println(LData);
while(tmp.LNext(list, LData))
System.out.println(LData);
}
이런식으로 메서드안에서 노드의 data를 가져와서 출력하거든요. 이게 c로 작성한 연결리스트를 자바로 바꾼건데
c에서는 포인터를 사용해서 *pdata로 값을 참조하는데 자바에서는 어떻게 해야 할 지 모르겠네요. 노드 클래스의 toString 메서드를 오버라이드해보고
(data값을 출력하게요) 해봤는데 해결방법을 모르겠습니다. 조언을 부탁드려요.
댓글 0