자바로 구현한 DoublyLinkedList
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

public class ListNode {

public class DoublyLinkedListTest {

public class DoublyLinkedList {

본문내용

c Object removeFirst() {
if(length > 0) { //첫 번째 노드의 삭제
ListNode p = firstNode;
firstNode = firstNode.rlink;
length--; //전체 size의 감소
System.out.print("첫번째 노드의 값 ");
return p.data;
} else { //예외 처리 부분.
ListNode e = new ListNode("error");
return e.data;
}
}
public Object removeLast() {
ListNode previousNode, currentNode;
if (length > 0) {
if (firstNode == null) {//예외 처리부분.
Object e = "error";
return e;
} else { //마지막 노드의 삭제.
previousNode = firstNode;
currentNode = firstNode.rlink;
while (currentNode.rlink != null) { //마지막 노드와 그전 노드 찾기.
previousNode = currentNode;
currentNode = currentNode.rlink;
} //while
previousNode.rlink = null; //마지막의 바로전 노드의link값이 null값을 가지게 되어 자연스럽게 마지막 노드의 삭제.
length--;
System.out.print("마지막 노드의 값 ");
return currentNode.data; //마지막 노드의 반환
} //else
} //if
else {//예외 처리부분.
ListNode e = new ListNode("error");
return e.data;
}
}
public boolean contains(Object o) {
// 원소 o를 가지고 있는가?
System.out.print(o + " 의 존재 유무는 = ");
boolean tf;
tf = false; //처음엔 false를 default로.
ListNode p = firstNode;
while (p.rlink != null) { //노드의 마지막 까지 순환
if(o.equals(p.data)) { //노드의 값과 입력 받은 o의 값과의 비교
tf = true; //같으면 true로
}
p = p.rlink; //다음 노드로..
}
return tf; //수행결과에 따른 true나 false를 반환
}
public int indexOf(Object o) {
// 원소 o가 처음 나타난 index를 return 한다.
ListNode p = firstNode;
int i = 1; //증가 될 수.
int index = 0; //반환할 index의 값을 저장할 변수
System.out.print(o + " 의 index 값은 = ");
while (p != null) { //노드의 마지막 까지 순환
if(o.equals(p.data)) { //노드의 값과 입력 받은 o의 값과의 비교
index = i; //반환할 index의 값을 저장
}
p = p.rlink; //다음 노드로
i++; //inex의 증가.
}
return index;//해당 노드의 inex값을 반환
}
public void print() { //노드의 출력
System.out.print("(");
ListNode p = firstNode;
while (p != null) {
System.out.print(p.data);
p = p.rlink;
if(p != null) {
System.out.print(",");
}
}
System.out.println(")");
}
}
  • 가격2,000
  • 페이지수8페이지
  • 등록일2003.10.22
  • 저작시기2003.10
  • 파일형식한글(hwp)
  • 자료번호#227759
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니