?? doublelink.java
字號:
package com.itjob.data;
public class DoubleLink {
DNode head;
DNode rear;
public void add(Object data){
DNode temp = new DNode(data);
if (head == null){
head = temp;
rear = temp;
}else{
rear.next = temp;
temp.previous = rear;
rear = temp;
}
}
public Object pop(){
if (rear != null){
Object temp = rear.data;
if (rear == head){
rear = rear.previous;
head = null;
}else{
rear = rear.previous;
rear.next = null;
}
return temp;
}else{
throw new NullDataException("沒有數據");
}
}
public boolean delete(Object data){
DNode temp = find(data);
if (temp == null){
return false;
}else{
if (temp == rear && temp == head){
head = null;
rear = null;
}else if (temp == head){
head = temp.next;
head.previous = null;
}else if (temp == rear){
temp.previous.next = null;
rear = temp.previous;
}else{
temp.previous.next = temp.next;
temp.next.previous = temp.previous;
}
return true;
}
}
public DNode find(Object data){
DNode temp = head;
while (temp != null){
if (temp.data.equals(data)){
return temp;
}
temp = temp.next;
}
return null;
}
public String toString(){
StringBuilder result = new StringBuilder("[");
DNode temp = head;
while (temp != null){
if (temp == rear){
result.append(temp.data);
}else{
result.append(temp.data + ",");
}
temp = temp.next;
}
result.append("]");
return result.toString();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -