Skip to content

Commit f949917

Browse files
committed
10-13Chapter
1 parent 6467ea3 commit f949917

File tree

96 files changed

+2250
-6
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+2250
-6
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package class1;
2+
3+
import class1.LinkedList.Node;
4+
5+
public class DoubleDirectionLinkedList <T>{
6+
doubleNode<T> head,current,trail=null;
7+
8+
class doubleNode<T>{
9+
doubleNode<T> pre;
10+
doubleNode<T> next;
11+
T key;
12+
}
13+
public void delete(doubleNode<T> node,T key){
14+
if (node.key!=key){
15+
node=node.next;
16+
}else{
17+
if(node.pre!=null){
18+
node.pre.next=node.next;
19+
}else{
20+
head=node.next;
21+
}
22+
if(node.next!=null){
23+
node.next.pre=node.pre;
24+
}
25+
// if (node.pre==null){
26+
// if(node.next==null){
27+
// head=null;
28+
// }else{
29+
// head=node.next;
30+
// head.next=node.next.next;
31+
// }
32+
// }else{
33+
// if(node.next==null){
34+
// trail=node.pre;
35+
// trail.pre=node.pre.pre;
36+
// }else{
37+
doubleNode<T> tem=node.pre;
38+
doubleNode<T> tem1=node.next;
39+
tem.next=node.next;
40+
tem1.pre=tem;
41+
// node.pre=tem;
42+
// node.next=tem1;
43+
44+
// }
45+
//}
46+
}
47+
}
48+
49+
public void insert(T key){ //插入一个节点
50+
doubleNode<T> newNode=new doubleNode<T>();
51+
newNode.key=key;
52+
newNode.next=null;
53+
if(head==null){
54+
head=newNode;
55+
head.pre=null;
56+
trail=newNode;
57+
}else{
58+
trail.next=newNode;
59+
newNode.pre=trail;
60+
trail=newNode;
61+
}
62+
}
63+
public void print(doubleNode<T> node){ //给一个头节点,打印链表
64+
while(node!=null){
65+
System.out.println(node.key);
66+
node=node.next; //逆向打印双向链表
67+
}
68+
}
69+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package class1;
2+
3+
import class1.LinkedList.Node;
4+
5+
public class DoubleDirectionLinkedList <T>{
6+
doubleNode<T> head,current,trail=null;
7+
class doubleNode<T>{
8+
doubleNode<T> pre;
9+
doubleNode<T> next;
10+
T key;
11+
}
12+
13+
public void insert(T key){
14+
doubleNode<T> newNode=new doubleNode<T>();
15+
newNode.key=key;
16+
newNode.next=null;
17+
if(head==null){
18+
head=newNode;
19+
trail=newNode;
20+
}else{
21+
trail.next=newNode;
22+
newNode.pre=trail;
23+
trail=newNode;
24+
}
25+
}
26+
public void print(doubleNode<T> node){ //给一个头节点,打印链表
27+
while(node!=null){
28+
System.out.println(node.key);
29+
node=node.pre;
30+
}
31+
}
32+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package class1;
2+
3+
import class1.LinkedList.Node;
4+
5+
public class DoubleDirectionLinkedList <T>{
6+
doubleNode<T> head,current,trail=null;
7+
8+
class doubleNode<T>{
9+
doubleNode<T> pre;
10+
doubleNode<T> next;
11+
T key;
12+
}
13+
public void delete(doubleNode<T> node,T key){
14+
if (node.key!=key){
15+
node=node.next;
16+
}else{
17+
if (node.pre==null){
18+
if(node.next==null){
19+
head=null;
20+
}else{
21+
head=node.next;
22+
head.next=node.next.next;
23+
}
24+
}
25+
}
26+
}
27+
28+
public void insert(T key){ //插入一个节点
29+
doubleNode<T> newNode=new doubleNode<T>();
30+
newNode.key=key;
31+
newNode.next=null;
32+
if(head==null){
33+
head=newNode;
34+
head.pre=null;
35+
trail=newNode;
36+
}else{
37+
trail.next=newNode;
38+
newNode.pre=trail;
39+
trail=newNode;
40+
}
41+
}
42+
public void print(doubleNode<T> node){ //给一个头节点,打印链表
43+
while(node!=null){
44+
System.out.println(node.key);
45+
node=node.pre; //逆向打印双向链表
46+
}
47+
}
48+
}

.metadata/.plugins/org.eclipse.core.resources/.history/27/b06151d4769f00171fc5dda2158bf345

Whitespace-only changes.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package class1;
2+
3+
import class1.LinkedList.Node;
4+
5+
public class DoubleDirectionLinkedList <T>{
6+
doubleNode<T> head,current,trail=null;
7+
8+
class doubleNode<T>{
9+
doubleNode<T> pre;
10+
doubleNode<T> next;
11+
T key;
12+
}
13+
public void delete(doubleNode<T> node,T key){
14+
System.out.println(key);
15+
System.out.println(node.key);
16+
if (node.key !=key){
17+
node=node.next;
18+
19+
}else{
20+
System.out.println(key);
21+
if(node.pre!=null){
22+
node.pre.next=node.next;
23+
}else{
24+
head=node.next;
25+
}
26+
if(node.next!=null){
27+
node.next.pre=node.pre;
28+
}
29+
// if (node.pre==null){
30+
// if(node.next==null){
31+
// head=null;
32+
// }else{
33+
// head=node.next;
34+
// head.next=node.next.next;
35+
// }
36+
// }else{
37+
// if(node.next==null){
38+
// trail=node.pre;
39+
// trail.pre=node.pre.pre;
40+
// }else{
41+
/* doubleNode<T> tem=node.pre;
42+
doubleNode<T> tem1=node.next;
43+
tem.next=node.next;
44+
tem1.pre=tem;*/
45+
// node.pre=tem;
46+
// node.next=tem1;
47+
48+
// }
49+
//}
50+
}
51+
}
52+
53+
public void insert(T key){ //插入一个节点
54+
doubleNode<T> newNode=new doubleNode<T>();
55+
newNode.key=key;
56+
newNode.next=null;
57+
if(head==null){
58+
head=newNode;
59+
head.pre=null;
60+
trail=newNode;
61+
}else{
62+
trail.next=newNode;
63+
newNode.pre=trail;
64+
trail=newNode;
65+
}
66+
}
67+
public void print(doubleNode<T> node){ //给一个头节点,打印链表
68+
while(node!=null){
69+
System.out.println(node.key);
70+
node=node.next; //逆向打印双向链表
71+
}
72+
}
73+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package class1;
2+
3+
import java.io.FileNotFoundException;
4+
5+
import org.omg.PortableInterceptor.INACTIVE;
6+
7+
import class1.DoubleDirectionLinkedList.doubleNode;
8+
import class1.LinkedList.Node;
9+
10+
public class TestClass {
11+
12+
public static void main(String[] args) throws FileNotFoundException {
13+
//单链表测试
14+
// LinkedList<Integer> ll=new LinkedList<Integer>();
15+
// ll.insert(6);
16+
// ll.insert(6);
17+
// Node first=ll.first;
18+
// ll.print(first);
19+
20+
DoubleDirectionLinkedList<Integer> ddll=new DoubleDirectionLinkedList<>();
21+
ddll.insert(54);
22+
ddll.insert(5);
23+
doubleNode node=ddll.head;
24+
ddll.print(node);
25+
26+
27+
}
28+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package class1;
2+
3+
import class1.LinkedList.Node;
4+
5+
public class DoubleDirectionLinkedList <T>{
6+
doubleNode<T> head,current,trail=null;
7+
8+
class doubleNode<T>{
9+
doubleNode<T> pre;
10+
doubleNode<T> next;
11+
T key;
12+
}
13+
public void delete(doubleNode<T> node,T key){
14+
if (node.key!=key){
15+
node=node.next;
16+
}else{
17+
// if (node.pre==null){
18+
// if(node.next==null){
19+
// head=null;
20+
// }else{
21+
// head=node.next;
22+
// head.next=node.next.next;
23+
// }
24+
// }else{
25+
// if(node.next==null){
26+
// trail=node.pre;
27+
// trail.pre=node.pre.pre;
28+
// }else{
29+
doubleNode<T> tem=node.pre;
30+
doubleNode<T> tem1=node.next;
31+
tem.next=node.next;
32+
tem1.pre=tem;
33+
node.pre=tem;
34+
node.next=tem1;
35+
36+
// }
37+
}
38+
}
39+
}
40+
41+
public void insert(T key){ //插入一个节点
42+
doubleNode<T> newNode=new doubleNode<T>();
43+
newNode.key=key;
44+
newNode.next=null;
45+
if(head==null){
46+
head=newNode;
47+
head.pre=null;
48+
trail=newNode;
49+
}else{
50+
trail.next=newNode;
51+
newNode.pre=trail;
52+
trail=newNode;
53+
}
54+
}
55+
public void print(doubleNode<T> node){ //给一个头节点,打印链表
56+
while(node!=null){
57+
System.out.println(node.key);
58+
node=node.next; //逆向打印双向链表
59+
}
60+
}
61+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package class1;
2+
3+
import class1.LinkedList.Node;
4+
5+
public class DoubleDirectionLinkedList <T>{
6+
doubleNode<T> head,current,trail=null;
7+
8+
class doubleNode<T>{
9+
doubleNode<T> pre;
10+
doubleNode<T> next;
11+
T key;
12+
}
13+
public void delete(doubleNode<T> node,T key){
14+
if (node.key==key){
15+
16+
}
17+
}
18+
19+
public void insert(T key){ //插入一个节点
20+
doubleNode<T> newNode=new doubleNode<T>();
21+
newNode.key=key;
22+
newNode.next=null;
23+
if(head==null){
24+
head=newNode;
25+
head.pre=null;
26+
trail=newNode;
27+
}else{
28+
trail.next=newNode;
29+
newNode.pre=trail;
30+
trail=newNode;
31+
}
32+
}
33+
public void print(doubleNode<T> node){ //给一个头节点,打印链表
34+
while(node!=null){
35+
System.out.println(node.key);
36+
node=node.pre; //逆向打印双向链表
37+
}
38+
}
39+
}

0 commit comments

Comments
 (0)