목차
public class ListNode {
public class DoublyLinkedListTest {
public class DoublyLinkedList {
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(")");
}
}
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(")");
}
}
추천자료
- [자료구조] max heap
- [자료구조] BFS&DFS&BST
- [자료구조] post&prefix
- (자료구조) 큐를 이용한 환상형 연결리스트 삽입 & 삭제 소스
- (자료구조) 스레드 이진트리 중위운행 결과 소스
- (자료구조) 트리를 이용한 비순환적 중위운행 결과 소스
- 힙 자료구조를 이용한 상입,제거(특정 토큰에 대해)
- 리스트 자료구조를 이용한 상입,제거(특정 토큰에 대해)
- [자료구조]Infix로 된 수식을 Prefix와 Postfix로 변환 시키는 프로그램입니다.(C언어)
- 철근 콘크리트 구조.PPT자료
- 연결리스트(자료구조).ppt
- [자료구조] 피보나치수열 - int 데이타 사이즈를 넘어가는 결과값 계산 프로그램
- C언어 자료구조 Binary Search Tree (이진 탐색 트리)
- C언어 자료구조 HashTable 해시테이블