이전에 만든 노드 클래스는 취약하다. 헤더가 링크드 리스트의 대표이면서 첫번째 값이기도 하다. 이 첫번째 값이 삭제될 경우 문제가 발생하게 된다. class LinkedList{ Node header = null; static class Node{ int data; Node next = null; } public LinkedList() { this.header = new Node(); } void append(int d){ Node end = new Node(); end.data = d; Node n = this.header; while(n.next != null){ n = n.next; } n.next = end; } void delete(int d){ Node n = this.header; while..
자료구조 알고리즘
// 단방향 링크드 리스트 구현 class Node{ private final int data; // 현재 데이터 private Node next = null; // 다음 데이터 public Node(int d){ this.data = d; } // 뒤에 더해주면 된다. void append(int d){ Node end = new Node(d); // 마지막으로 들어갈 노드를 생성해준다. Node node = this; // 현재 노드 while(node.next != null){ // 노드의 다음 인자가 있다면 다음으로 계속 찾아준다. node = node.next; // 다음 노드로 넘어가는 부분 } node.next = end; // 다음 노드의 주소값을 end로 설정 } // 노드의 next 값..