Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions group24/1148285693/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files
*.war
*.ear
*.bk
.gradle
target
*.class
*.real

# virtual machine crash logs
# see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

# Eclipse Files #
.project
.classpath
.settings

# Idea
*.iml
*.ipr
*.iws
.idea

# log
*_IS_UNDEFINED
logs
*.log

# other
*.bak
.directory
.DS_Store
22 changes: 22 additions & 0 deletions group24/1148285693/learning2017/learning-basic/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>


<parent>
<artifactId>learning2017</artifactId>
<groupId>me.lzb</groupId>
<version>1.0</version>
</parent>


<artifactId>learning-basic</artifactId>
<name>basic</name>
<version>1.0</version>


<dependencies>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
package me.lzb.homework0312.basic;

/**
* 简易ArrayList
* Created by LZB on 2017/3/11.
*/
public class ArrayList implements List {

private int size = 0;

private Object[] elementData = {};


public void add(Object o) {
if (elementData.length < size + 1) {
Object[] target = new Object[size + 1];
System.arraycopy(elementData, 0, target, 0, elementData.length);
elementData = target;
}
elementData[size] = o;
size = size + 1;
}


public void add(int index, Object o) throws IndexOutOfBoundsException {
if (index < 0 || index > size) {
throw new IndexOutOfBoundsException("index boom");
}

int leftSize = index;
int rightSize = size - index;
Object[] target = new Object[elementData.length + 1];
System.arraycopy(elementData, 0, target, 0, leftSize);
target[index] = o;
System.arraycopy(elementData, index, target, index + 1, rightSize);
elementData = target;
size = size + 1;
}

public Object get(int index) throws IndexOutOfBoundsException {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException("index boom");
}
return elementData[index];
}

public Object remove(int index) throws IndexOutOfBoundsException {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException("index boom");
}
Object removeObject = elementData[index];
int leftSize = index;
int rightSize = size - index - 1;
Object[] target = new Object[elementData.length - 1];
System.arraycopy(elementData, 0, target, 0, leftSize);
System.arraycopy(elementData, index + 1, target, index, rightSize);
elementData = target;
size = size - 1;
return removeObject;
}

public int size() {
return size;
}


public Iterator iterator() {
return new ArrayListIterator(this);
}

private class ArrayListIterator implements Iterator {
private ArrayList arrayList;

int pos = 0;

private ArrayListIterator(ArrayList arrayList) {
this.arrayList = arrayList;
}

@Override
public boolean hasNext() {
if (pos >= arrayList.size) {
return false;
}

return true;
}

@Override
public Object next() {
Object result = arrayList.get(pos);
pos = pos + 1;
return result;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package me.lzb.homework0312.basic;

/**
* 左边比父节点小,右边比父节点大
* Created by LZB on 2017/3/11.
*/
public class BinaryTreeNode {

private int data;
private BinaryTreeNode left;
private BinaryTreeNode right;

public BinaryTreeNode(int data){
this.data = data;
}

public int getData() {
return data;
}


//这层满了就下一层继续add,直到找到空位
public void add(int d){
BinaryTreeNode b = new BinaryTreeNode(d);
if(compareTo(b)){
//比父节点小,左边
if(this.left == null){
this.left = b;
}else {
this.left.add(d);
}

}else {//相等不考虑
//比父节点大,右边
if(this.right == null){
this.right = b;
}else {
this.right.add(d);
}

}
}


public boolean compareTo(BinaryTreeNode node){
if(this.data > node.getData()){
return true;
}
return false;
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package me.lzb.homework0312.basic;

/**
* Created by LZB on 2017/3/11.
*/
public interface Iterator {
public boolean hasNext();
public Object next();

}
Loading