Skip to content

Commit 1c60eec

Browse files
committed
2 parents 8a461d6 + 39b1591 commit 1c60eec

Some content is hidden

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

63 files changed

+2868
-220
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,8 @@ hs_err_pid*
1414
#ide config
1515
.metadata
1616
.recommenders
17+
18+
#add rules
19+
*.xml
20+
!pom.xml
21+
*.iml
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package firstHomework.fan;
2+
import java.util.Comparator;
3+
4+
public class myBinaryTreeNode {
5+
6+
private int data;
7+
private myBinaryTreeNode left;
8+
private myBinaryTreeNode right;
9+
10+
//构造函数
11+
public myBinaryTreeNode(){
12+
}
13+
public myBinaryTreeNode(int value){
14+
this.data = value;
15+
this.left = null;
16+
this.right = null;
17+
}
18+
public myBinaryTreeNode(int value,myBinaryTreeNode left,myBinaryTreeNode right){
19+
this.data = value;
20+
this.left = left;
21+
this.right = right;
22+
}
23+
private myBinaryTreeNode root;//定义根节点
24+
25+
//get/set方法
26+
public Object getData() {
27+
return data;
28+
}
29+
public void setData(int data) {
30+
this.data = data;
31+
}
32+
33+
34+
public myBinaryTreeNode getLeft() {
35+
return left;
36+
}
37+
public void setLeft(myBinaryTreeNode left) {
38+
this.left = left;
39+
}
40+
41+
42+
public myBinaryTreeNode getRight() {
43+
return right;
44+
}
45+
public void setRight(myBinaryTreeNode right) {
46+
this.right = right;
47+
}
48+
49+
50+
public void insert(int o){
51+
this.root = insert(o,this.root);
52+
53+
}
54+
public myBinaryTreeNode insert(int value,myBinaryTreeNode t){
55+
if(t == null){//根节点为空
56+
return new myBinaryTreeNode(value);
57+
}
58+
//插入值与当前节点比较,小于插入到左子树,大于插入到右子树
59+
if(value<t.data){
60+
t.left = insert(value,t.left);//t节点是最后的节点,他的left一定为空,此时递归开始返回
61+
62+
}else if(value>t.data){
63+
t.right = insert(value,t.right);
64+
}
65+
return t;
66+
}
67+
68+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="src" path="src"/>
4+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
5+
<classpathentry kind="output" path="bin"/>
6+
</classpath>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/bin/

group07/1448276993/JavaStudy/.project

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>JavaStudy</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.jdt.core.javabuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
</buildSpec>
14+
<natures>
15+
<nature>org.eclipse.jdt.core.javanature</nature>
16+
</natures>
17+
</projectDescription>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
eclipse.preferences.version=1
2+
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4+
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5+
org.eclipse.jdt.core.compiler.compliance=1.8
6+
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7+
org.eclipse.jdt.core.compiler.debug.localVariable=generate
8+
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9+
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10+
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11+
org.eclipse.jdt.core.compiler.source=1.8
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package java1;
2+
3+
public class ArrayList implements List {
4+
5+
private int size = 0;
6+
7+
private Object[] elementData = new Object[100];
8+
9+
public void add(Object o){
10+
ensureCapacity(size+1);
11+
elementData[size++]=o;
12+
13+
}
14+
public void add(int index, Object o){
15+
ensureCapacity(size+1);
16+
if(index<0&&index>size){
17+
System.out.println("Wrong Input£¡");
18+
}else{
19+
System.arraycopy(elementData, index, elementData, index+1, size-index);
20+
elementData[index]=o;
21+
size++;
22+
}
23+
24+
}
25+
26+
public Object get(int index){
27+
if(index<0&&index>size){
28+
System.out.println("Wrong Input£¡");
29+
return null;
30+
}
31+
return elementData[index];
32+
}
33+
34+
public Object remove(int index){
35+
if(index<0&&index>size){
36+
System.out.println("Wrong Input£¡");
37+
return null;
38+
}
39+
Object a=elementData[index];
40+
System.arraycopy(elementData, index+1, elementData, index, size-index-1);
41+
return a;
42+
}
43+
44+
public int size(){
45+
return this.size;
46+
}
47+
48+
public void ensureCapacity(int size){
49+
int oldCapacity=elementData.length;
50+
if(size>oldCapacity){
51+
Object[] newelementData=new Object[size+oldCapacity];
52+
elementData=newelementData;
53+
}
54+
}
55+
56+
}
57+
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
package java1;
2+
3+
public class LinkedList implements List {
4+
5+
private Node head=null;
6+
private Node last=null;
7+
private int size=0;
8+
9+
public void add(Object o){
10+
Node newNode = new Node(o,null);
11+
if(head==null){
12+
head = newNode;
13+
last = newNode;
14+
}else{
15+
addLast(o);
16+
}
17+
size++;
18+
}
19+
public void add(int index , Object o){
20+
if(index<0&&index>size+1){
21+
System.out.println("Wrong Input!");
22+
}
23+
Node newNode = new Node(o,null);
24+
if(index==0){
25+
addFirst(o);
26+
}else if(index==size){
27+
addLast(o);
28+
}else{
29+
Node a=head;
30+
for(int i=0;i<index;i++){
31+
a=a.next;
32+
if(i==size-1){
33+
newNode.next=a.next;
34+
a.next=newNode;
35+
}
36+
}
37+
}
38+
size++;
39+
}
40+
public Object get(int index){
41+
if(head==null){
42+
return head;
43+
}
44+
Node a=head;
45+
for(int i=0;i<index;i++){
46+
a=a.next;
47+
if(i==index){
48+
break;
49+
}
50+
}
51+
return a;
52+
}
53+
public Object remove(int index){
54+
if(head==null){
55+
return head;
56+
}
57+
Node a=head;
58+
for(int i=0;i<index;i++){
59+
a=a.next;
60+
if(i==index-1){
61+
a.next=a.next.next;
62+
a.next.next=null;
63+
}
64+
}
65+
return a;
66+
}
67+
68+
public int size(){
69+
return this.size;
70+
}
71+
72+
public void addFirst(Object o){
73+
Node newNode = new Node(o,null);
74+
if(head==null){
75+
head=newNode;
76+
last=newNode;
77+
}else{
78+
newNode.next=head;
79+
head=newNode;
80+
}
81+
size++;
82+
}
83+
public void addLast(Object o){
84+
Node newNode = new Node(o,null);
85+
if(head==null){
86+
head=newNode;
87+
}else{
88+
last.next=newNode;
89+
}
90+
last=newNode;
91+
size++;
92+
}
93+
public Object removeFirst(){
94+
if(head==null){
95+
System.out.println("List Is Empty!");
96+
}else{
97+
head=head.next;
98+
}
99+
size--;
100+
return head;
101+
}
102+
public Object removeLast(){
103+
if(head==null){
104+
System.out.println("List Is Empty!");
105+
}else{
106+
Node a=head;
107+
for(int i=0;i<size;i++){
108+
a=a.next;
109+
if(i==size-1){
110+
last=a;
111+
a.next=null;
112+
}
113+
}
114+
}
115+
size--;
116+
return head;
117+
}
118+
119+
120+
private static class Node{
121+
Object data;
122+
Node next;
123+
124+
public Node(Object e,Node node){
125+
this.data = e;
126+
this.next = node;
127+
}
128+
}
129+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package java1;
2+
3+
public interface List {
4+
public void add(Object o);
5+
public void add(int index, Object o);
6+
public Object get(int index);
7+
public Object remove(int index);
8+
public int size();
9+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package java1;
2+
3+
public class Queue {
4+
private Object[] str=new Object[100];
5+
private int size=0;
6+
public void enQueue(Object o){
7+
ensureCapacity(size+1);
8+
str[size++]=o;
9+
}
10+
11+
public Object deQueue(){
12+
if(this.size==0){
13+
System.out.println("Is empty!");
14+
return null;
15+
}
16+
System.arraycopy(str, 1, str, 0, size-1);
17+
size--;
18+
return str;
19+
}
20+
21+
public boolean isEmpty(){
22+
if(size==0){
23+
return true;
24+
}
25+
return false;
26+
}
27+
28+
public int size(){
29+
return this.size;
30+
}
31+
public void ensureCapacity(int size){
32+
int oldCapacity=str.length;
33+
if(size>oldCapacity){
34+
Object[] newelementData=new Object[size+oldCapacity];
35+
str=newelementData;
36+
}
37+
}
38+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package java1;
2+
3+
public class Stack {
4+
private ArrayList array = new ArrayList();
5+
6+
public void push(Object o){
7+
array.add(o);
8+
}
9+
10+
public Object pop(){
11+
if(array.size()>0){
12+
Object pop = array.get(array.size()-1);
13+
array.remove(array.size()-1);
14+
return pop;
15+
}
16+
return null;
17+
}
18+
19+
public Object peek(){
20+
if(array.size()>0){
21+
return array.get(array.size()-1);
22+
}
23+
return null;
24+
}
25+
public boolean isEmpty(){
26+
if(array.size()==0){
27+
return true;
28+
}
29+
return false;
30+
}
31+
public int size(){
32+
return array.size();
33+
}
34+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# 001DataStructure
2-
001DataStructure
2+
001DataStructure

0 commit comments

Comments
 (0)