Skip to content

Commit 06f8fd7

Browse files
authored
Merge pull request onlyliuxin#13 from Allen1218/master
第一次作业,by:584709796,史栋栋
2 parents 8819812 + a6b0c79 commit 06f8fd7

File tree

15 files changed

+483
-24
lines changed

15 files changed

+483
-24
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<classpath>
33
<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"/>
45
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
56
<classpathentry kind="output" path="bin"/>
67
</classpath>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
/bin/
1+
/bin/

group10/584709796/.project renamed to group10/584709796/worka/.project

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<projectDescription>
3-
<name>584709796Learning</name>
3+
<name>2017Learning</name>
44
<comment></comment>
55
<projects>
66
</projects>
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: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
//刚开始学JAVA,现在学到JAVA基础类库耐力,迭代器还没学
2+
3+
package com.coding.basic;
4+
5+
public class ArrayList implements List {
6+
7+
private int size =0;
8+
9+
private Object[] elementData = new Object[100];
10+
11+
public int getSize() {//得到数组大小
12+
return size;
13+
}
14+
public void setSize(int size) {//设置数组的长度
15+
this.size = size;
16+
}
17+
18+
public void ExtendArray(int size){ //插入元素时,数组长度加1,确保数组不越界
19+
this.size=size+1;
20+
}
21+
22+
public void add(Object o){//在末尾添加元素
23+
int length=getSize();
24+
elementData[length] = o;
25+
ExtendArray(length);
26+
}
27+
28+
public void add(int index, Object o){
29+
int length=getSize();
30+
31+
for(int k=length-1;k>=index-1;k--){//元素后移
32+
elementData[k+1]=elementData[k];
33+
}
34+
elementData[index-1]=o;
35+
ExtendArray(length);//插一个元素,扩充一次
36+
}
37+
38+
public Object get(int index){//获取元素
39+
int length=getSize();
40+
if(index+1>length||index<0){
41+
System.out.println("方法 get(int index)的index不在数组索引的范围内");
42+
}
43+
return (Object)elementData[index];
44+
}
45+
46+
public Object remove(int index){//移除元素
47+
int length=getSize();
48+
if(index+1>length||index<0){
49+
System.out.println("方法 remove(int index)的index不在数组索引的范围内");
50+
}
51+
Object ss=(Object)elementData[index];
52+
53+
for(int k=index;k<length;k++){
54+
elementData[k]=elementData[k+1];//元素前移
55+
}
56+
57+
length--;
58+
return ss;
59+
}
60+
61+
public int size(){
62+
return size;
63+
}
64+
65+
public void printArray(){
66+
for(int i = 0; i < getSize()-1; i++){
67+
System.out.print(elementData[i]+" ");
68+
}
69+
}
70+
71+
public Iterator iterator(){
72+
return null;
73+
}
74+
75+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.coding.basic;
2+
3+
public class BinaryTreeNode {
4+
5+
private Object data;
6+
private BinaryTreeNode left;
7+
private BinaryTreeNode right;
8+
9+
public Object getData() {
10+
return data;
11+
}
12+
public void setData(Object data) {
13+
this.data = data;
14+
}
15+
public BinaryTreeNode getLeft() {
16+
return left;
17+
}
18+
public void setLeft(BinaryTreeNode left) {
19+
this.left = left;
20+
}
21+
public BinaryTreeNode getRight() {
22+
return right;
23+
}
24+
public void setRight(BinaryTreeNode right) {
25+
this.right = right;
26+
}
27+
28+
public BinaryTreeNode insert(Object o){
29+
return null;
30+
}
31+
32+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package com.coding.basic;
2+
3+
4+
5+
public class DemoTest {
6+
7+
//1.数组测试
8+
public void Test_ArrayList(){
9+
ArrayList array=new ArrayList();
10+
//0.末尾插入
11+
array.add(1);
12+
array.add(2);
13+
array.add(3);
14+
array.add(4);
15+
array.add(5);
16+
array.add(6);
17+
System.out.println("数组原始数据");
18+
array.printArray();
19+
20+
//1.索引插入
21+
array.add(2,22);
22+
System.out.println("索引插入遍历");
23+
array.printArray();
24+
System.out.println("数组长度"+array.getSize());
25+
26+
//2.索引获取元素
27+
System.out.println("2.索引获取元素");
28+
System.out.println(array.get(4));
29+
30+
//3.按索引移除元素
31+
System.out.println("3.按索引移除元素");
32+
array.remove(1);
33+
array.printArray();
34+
}
35+
36+
//2.单链表测试
37+
public void Test_LinkedList(){
38+
39+
LinkedList LinkList=new LinkedList();
40+
//1.头插法
41+
System.out.println("线性表原始数据");
42+
LinkList.add(0);
43+
LinkList.add(1);
44+
LinkList.add(2);
45+
LinkList.add(3);
46+
LinkList.add(4);
47+
LinkList.add(5);
48+
LinkList.PrintLinkList();
49+
50+
//2.索引插入
51+
/*System.out.println("2.索引插入");
52+
LinkList.add(2,11);
53+
LinkList.PrintLinkList();*/
54+
55+
//3.索引获取元素
56+
/*System.out.println("3.索引获取元素");
57+
LinkList.get(1);*/
58+
59+
//4.索引移除元素
60+
System.out.println("4.索引移除元素");
61+
LinkList.remove(2);
62+
LinkList.PrintLinkList();
63+
System.out.println("linklist长度: "+LinkList.size());
64+
}
65+
66+
public static void main(String[] args) {
67+
DemoTest Dt=new DemoTest();
68+
// Dt.Test_ArrayList();
69+
Dt.Test_LinkedList();
70+
71+
}
72+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.coding.basic;
2+
3+
public interface Iterator {
4+
public boolean hasNext();
5+
public Object next();
6+
7+
}
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
package com.coding.basic;
2+
3+
public class LinkedList implements List {
4+
5+
private Node head;
6+
private int size=0; //表长
7+
//0.单链表存储结构
8+
private static class Node{
9+
Object data; //数据域
10+
Node next; //指针域
11+
}
12+
13+
//1.末尾添加元素
14+
public void add(Object o){//不带头结点
15+
Node node = new Node();
16+
node.data=o;
17+
18+
node.next=head;
19+
head=node;
20+
21+
size++;
22+
}
23+
//2. 索引插入
24+
public void add(int index , Object o){
25+
int j=0;//索引
26+
Node temp=head;
27+
28+
Node node = new Node();
29+
node.data=o;
30+
31+
if(index==0){
32+
node.next=temp;
33+
head=node;
34+
size++;
35+
}
36+
else{
37+
while(j<=index-1){
38+
temp=temp.next;
39+
j++;
40+
}
41+
node.next=temp.next;
42+
temp.next=node;
43+
size++;
44+
}
45+
}
46+
//3.索引获取元素
47+
public Object get(int index){
48+
Object e=0;
49+
50+
int j=0;//索引
51+
Node temp=head;
52+
53+
if(index==0){
54+
e=(Object)temp.data;
55+
}
56+
else{
57+
while(j<=index-1){
58+
temp=temp.next;
59+
j++;
60+
}
61+
e=(Object)temp.data;
62+
}
63+
64+
System.out.println(index+"index数据域:"+e);
65+
return e;
66+
}
67+
//4.索引移除元素
68+
public Object remove(int index){
69+
70+
Object e=0;
71+
72+
int j=0;//索引
73+
Node temp=head;
74+
75+
if(index==0){
76+
e=temp.data;
77+
head=temp.next;
78+
size--;
79+
}
80+
else{
81+
while(j<index-1){
82+
temp=temp.next;
83+
j++;
84+
}
85+
e=temp.next.data;
86+
temp.next=temp.next.next;
87+
88+
size--;
89+
}
90+
91+
System.out.println(index+"index数据域:"+e);
92+
return e;
93+
}
94+
//5.获取大小
95+
public int size(){
96+
return size;
97+
}
98+
//6.表头插入元素
99+
public void addFirst(Object o){
100+
Node node = new Node();
101+
node.data=o;
102+
103+
node.next=head;
104+
head=node;
105+
106+
size++;
107+
}
108+
//7.尾插法
109+
public void addLast(Object o){
110+
Node p = new Node();
111+
Node t=null;
112+
for(t = head; t.next!=null; t=t.next); //结束时t指向尾节点
113+
p.next = null; //进行插入
114+
t.next=p;
115+
}
116+
//8.头删法
117+
public Object removeFirst(){
118+
Object e=0;
119+
Node temp=head;
120+
e=temp.data;
121+
head=temp.next;
122+
size--;
123+
return e;
124+
}
125+
//9.尾删法
126+
public Object removeLast(){
127+
//Node p = new Node();
128+
Node t=head;
129+
Object e=null;
130+
int j=0;
131+
132+
while(j<size)
133+
{
134+
t=t.next;
135+
j++;
136+
}
137+
138+
t.next = t.next.next;
139+
size--;
140+
return e;
141+
}
142+
143+
//10.遍历
144+
public void PrintLinkList(){
145+
Node current = head;
146+
while (current != null) {
147+
System. out.print( current.data + " ");
148+
current = current.next;
149+
}
150+
System. out.println();
151+
}
152+
153+
////11.判断是否为空
154+
public boolean isEmpty(){
155+
boolean s=false;
156+
if(size==0)
157+
{
158+
s=true;
159+
}
160+
else s=false;
161+
return s;
162+
}
163+
public Iterator iterator(){
164+
return null;
165+
}
166+
167+
168+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.coding.basic;
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+
}

0 commit comments

Comments
 (0)