Skip to content

Commit 8af8abb

Browse files
committed
dataStructure
1 parent 764c5b0 commit 8af8abb

File tree

10 files changed

+333
-0
lines changed

10 files changed

+333
-0
lines changed

group01/360176196/.classpath

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"/>
5+
<classpathentry kind="output" path="bin"/>
6+
</classpath>

group01/360176196/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/bin

group01/360176196/.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>xqfGit</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: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package xqfGit.dataStructure;
2+
3+
import java.util.Arrays;
4+
5+
public class ArrayList implements List {
6+
7+
private int size = 0;
8+
9+
private Object[] elementData = new Object[100];
10+
11+
12+
public void add(Object o){
13+
if(this.size >= elementData.length){
14+
elementData = Arrays.copyOf(elementData, size+1);
15+
elementData[size] = o;
16+
size++;
17+
}
18+
else{
19+
elementData[size-1] = o;
20+
size++;
21+
}
22+
23+
}
24+
25+
public void add(int index, Object o){
26+
if(index<0 || index>elementData.length){
27+
throw new ArrayIndexOutOfBoundsException("OutOfBounds");
28+
}
29+
else{
30+
System.arraycopy(elementData, index, elementData, index+1, elementData.length+1);
31+
elementData[index] = o;
32+
size++;
33+
}
34+
}
35+
36+
37+
public Object get(int index){
38+
if(index<0 || index>elementData.length){
39+
throw new ArrayIndexOutOfBoundsException("OutOfBounds");
40+
}
41+
else{
42+
return elementData[index];
43+
}
44+
}
45+
46+
47+
public Object remove(int index){
48+
if(index<0 || index>elementData.length){
49+
throw new ArrayIndexOutOfBoundsException("OutOfBounds");
50+
}
51+
else{
52+
Object reObject = elementData[index];
53+
System.arraycopy(elementData, index+1, elementData, index, elementData.length-1);
54+
size--;
55+
return reObject;
56+
}
57+
}
58+
59+
public int size(){
60+
if(this.size < elementData.length){
61+
return size;
62+
}else{
63+
elementData = Arrays.copyOf(elementData, size);
64+
return size;
65+
}
66+
}
67+
68+
69+
public Iterator iterator(){
70+
return null;
71+
}
72+
73+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package xqfGit.dataStructure;
2+
3+
import com.sun.swing.internal.plaf.basic.resources.basic;
4+
5+
public class BinaryTreeNode {
6+
7+
private Integer data;
8+
private BinaryTreeNode left;
9+
private BinaryTreeNode right;
10+
11+
12+
13+
14+
public Integer getData() {
15+
return data;
16+
}
17+
public void setData(Integer data) {
18+
this.data = data;
19+
}
20+
public BinaryTreeNode getLeft() {
21+
return left;
22+
}
23+
public void setLeft(BinaryTreeNode left) {
24+
this.left = left;
25+
}
26+
public BinaryTreeNode getRight() {
27+
return right;
28+
}
29+
public void setRight(BinaryTreeNode right) {
30+
this.right = right;
31+
}
32+
33+
public BinaryTreeNode insert(Integer i){
34+
35+
return null;
36+
}
37+
38+
public BinaryTreeNode (){
39+
40+
}
41+
42+
43+
44+
public BinaryTreeNode(BinaryTreeNode b1,BinaryTreeNode b2){
45+
this.left = b1;
46+
this.right = b2;
47+
}
48+
49+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package xqfGit.dataStructure;
2+
3+
public interface Iterator {
4+
public boolean hasNext();
5+
public Object next();
6+
7+
}
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
package xqfGit.dataStructure;
2+
3+
public class LinkedList implements List {
4+
5+
private Node first;
6+
private Node last;
7+
private int size;
8+
9+
public void add(Object o){
10+
Node l = new Node(o);
11+
l = last.next;
12+
size++;
13+
}
14+
15+
public void add(int index , Object o){
16+
Node l = new Node(o);
17+
Node n = first;
18+
if(size == index){
19+
l = last.next;
20+
l = last;
21+
size++;
22+
}else{
23+
Node m = first;
24+
for(int i =0;i<index-1;i++){
25+
m = m.next;
26+
}
27+
for(int i =0;i<index;i++){
28+
n = n.next;
29+
}
30+
l = m.next;
31+
n = l.next;
32+
size++;
33+
}
34+
}
35+
public Object get(int index){
36+
Node n = first;
37+
for(int i =0;i<index;i++){
38+
n = n.next;
39+
}
40+
return n;
41+
}
42+
public Object remove(int index){
43+
Node n = first;
44+
for(int i =0;i<index-1;i++){
45+
n = n.next;
46+
}
47+
Node m = first;
48+
for(int i =0;i<index;i++){
49+
m = m.next;
50+
}
51+
Node l = first;
52+
for(int i =0;i<index+1;i++){
53+
l = l.next;
54+
}
55+
l = n.next;
56+
size--;
57+
return m;
58+
}
59+
60+
public int size(){
61+
Node n = first;
62+
int i=0;
63+
for(i =0;i<size;i++){
64+
n = n.next;
65+
}
66+
return i;
67+
}
68+
69+
public void addFirst(Object o){
70+
Node n = new Node(o);
71+
first = n.next;
72+
size++;
73+
}
74+
public void addLast(Object o){
75+
Node n = first;
76+
for(int i =0;i<size;i++){
77+
n = n.next;
78+
}
79+
n = new Node(o);
80+
last = n;
81+
size++;
82+
}
83+
public Object removeFirst(){
84+
Node n = first.next;
85+
Node m = first;
86+
first = n;
87+
size--;
88+
return m;
89+
}
90+
public Object removeLast(){
91+
Node n = first;
92+
for(int i =0;i<size-1;i++){
93+
n = n.next;
94+
}
95+
last = n;
96+
size--;
97+
return n.next;
98+
}
99+
100+
public Iterator iterator(){
101+
return null;
102+
}
103+
104+
105+
private static class Node{
106+
Object data;
107+
Node next;
108+
109+
public Node(){
110+
111+
}
112+
public Node(Object o ){
113+
this.data = o;
114+
}
115+
}
116+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package xqfGit.dataStructure;
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: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package xqfGit.dataStructure;
2+
import java.util.LinkedList;
3+
4+
public class Queue {
5+
LinkedList list = new LinkedList();
6+
7+
public void enQueue(Object o){
8+
list.addLast(o);
9+
}
10+
11+
public Object deQueue(){
12+
Object o =list.getFirst();
13+
list.removeFirst();
14+
return o;
15+
}
16+
17+
public boolean isEmpty(){
18+
if(list.size() == 0){
19+
return true;
20+
}
21+
return false;
22+
}
23+
24+
public int size(){
25+
return list.size();
26+
}
27+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package xqfGit.dataStructure;
2+
3+
public class Stack {
4+
private ArrayList elementData = new ArrayList();
5+
6+
public void push(Object o){
7+
elementData.add(o);
8+
}
9+
10+
public Object pop(){
11+
Object o = elementData.get(elementData.size()-1);
12+
elementData.remove(elementData.size()-1);
13+
return o;
14+
}
15+
16+
public Object peek(){
17+
return elementData.get(elementData.size()-1);
18+
}
19+
public boolean isEmpty(){
20+
if(elementData.size() == 0){
21+
return true;
22+
}
23+
return false;
24+
}
25+
public int size(){
26+
return elementData.size();
27+
}
28+
}

0 commit comments

Comments
 (0)