목차
PointTest.java
ListNode.java
LinkedList.java
ListNode.java
LinkedList.java
본문내용
de newNode = new ListNode();
newNode.data = x; // 데이터 값 x를 저장
newNode.link = null;
if(head == null) { // head가 공백 리스트인 경우
head = newNode; // head에 newNode를 넣는다.
return;
}
ListNode p = head; // 포인터 p가 head를 가르키게 한다.
while (p.link != null) {
// 만약 p.link가 이전에 어떤 부분을 가르키고 있다면
p = p.link; // p가 가르키는 노드 다음에 노드 삽입.
}
p.link = newNode;
}
public void addFirstNode(String y) { // 첫 번째에 노드 추가
// 채워 넣으시오.
}
public ListNode searchNode(String z) { // search
// 채워 넣으시오.
}
public void reverse() { // 순서 바꾸기..
ListNode p = head;
ListNode q = null;
ListNode r = null;
while(p != null) {
r = q;
q = p;
p = p.link;
q.link = r;
}
head = q;
}
public void deleteLastNode() { // 마지막 노드 삭제
ListNode previousNode, currentNode;
if(head == null) return;
if(head.link == null) {
head = null;
return;
}
else {
previousNode = head;
currentNode = head.link;
while(currentNode.link != null) {
previousNode = currentNode;
currentNode = currentNode.link;
}
previousNode.link = null;
}
}
public void printList() {
ListNode p;
System.out.print("( ");
p = head;
while(p != null) {
System.out.print(p.data);
p = p.link;
if(p != null) {
System.out.print(" , ");
}
}
System.out.println(" )");
}
public static void main(String[] args) {
LinkedList L = new LinkedList();
System.out.println("addLastNode 3 : ");
L.addLastNode("Kim");
L.addLastNode("Lee");
L.addLastNode("Park");
L.printList();
System.out.println("addFirstNode 1 : ");
L.addFirstNode("Kang");
L.printList();
System.out.println("addLastNode 1 : ");
L.addLastNode("Yoo");
L.printList();
System.out.println("deleteLastNode : ");
L.deleteLastNode();
L.printList();
ListNode q = L.searchNode("Kim");
System.out.println("searchNode data : " + q.data);
System.out.println("searchNode link : " + q.link);
System.out.println("reverse : ");
L.reverse();
L.printList();
}
}
newNode.data = x; // 데이터 값 x를 저장
newNode.link = null;
if(head == null) { // head가 공백 리스트인 경우
head = newNode; // head에 newNode를 넣는다.
return;
}
ListNode p = head; // 포인터 p가 head를 가르키게 한다.
while (p.link != null) {
// 만약 p.link가 이전에 어떤 부분을 가르키고 있다면
p = p.link; // p가 가르키는 노드 다음에 노드 삽입.
}
p.link = newNode;
}
public void addFirstNode(String y) { // 첫 번째에 노드 추가
// 채워 넣으시오.
}
public ListNode searchNode(String z) { // search
// 채워 넣으시오.
}
public void reverse() { // 순서 바꾸기..
ListNode p = head;
ListNode q = null;
ListNode r = null;
while(p != null) {
r = q;
q = p;
p = p.link;
q.link = r;
}
head = q;
}
public void deleteLastNode() { // 마지막 노드 삭제
ListNode previousNode, currentNode;
if(head == null) return;
if(head.link == null) {
head = null;
return;
}
else {
previousNode = head;
currentNode = head.link;
while(currentNode.link != null) {
previousNode = currentNode;
currentNode = currentNode.link;
}
previousNode.link = null;
}
}
public void printList() {
ListNode p;
System.out.print("( ");
p = head;
while(p != null) {
System.out.print(p.data);
p = p.link;
if(p != null) {
System.out.print(" , ");
}
}
System.out.println(" )");
}
public static void main(String[] args) {
LinkedList L = new LinkedList();
System.out.println("addLastNode 3 : ");
L.addLastNode("Kim");
L.addLastNode("Lee");
L.addLastNode("Park");
L.printList();
System.out.println("addFirstNode 1 : ");
L.addFirstNode("Kang");
L.printList();
System.out.println("addLastNode 1 : ");
L.addLastNode("Yoo");
L.printList();
System.out.println("deleteLastNode : ");
L.deleteLastNode();
L.printList();
ListNode q = L.searchNode("Kim");
System.out.println("searchNode data : " + q.data);
System.out.println("searchNode link : " + q.link);
System.out.println("reverse : ");
L.reverse();
L.printList();
}
}
추천자료
- [자료구조] max heap
- [자료구조] BFS&DFS&BST
- [자료구조] post&prefix
- (자료구조) 큐를 이용한 환상형 연결리스트 삽입 & 삭제 소스
- (자료구조) 스레드 이진트리 중위운행 결과 소스
- (자료구조) 트리를 이용한 비순환적 중위운행 결과 소스
- 힙 자료구조를 이용한 상입,제거(특정 토큰에 대해)
- 리스트 자료구조를 이용한 상입,제거(특정 토큰에 대해)
- [자료구조]Infix로 된 수식을 Prefix와 Postfix로 변환 시키는 프로그램입니다.(C언어)
- 철근 콘크리트 구조.PPT자료
- 연결리스트(자료구조).ppt
- [자료구조] 피보나치수열 - int 데이타 사이즈를 넘어가는 결과값 계산 프로그램
- C언어 자료구조 Binary Search Tree (이진 탐색 트리)
- C언어 자료구조 HashTable 해시테이블
소개글