Skip to content

Commit

Permalink
Merge pull request #15 from bate999999999/master
Browse files Browse the repository at this point in the history
作业
  • Loading branch information
guodongym authored Feb 27, 2017
2 parents 788a906 + 5f23dd8 commit e0bd349
Show file tree
Hide file tree
Showing 10 changed files with 556 additions and 0 deletions.
11 changes: 11 additions & 0 deletions group12/282742732/learning_1/.settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
124 changes: 124 additions & 0 deletions group12/282742732/learning_1/src/com/coding/basic/ArrayList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
package com.coding.basic;


public class ArrayList implements List {

private int size = 0;

private Object[] elementData = new Object[100];

public void add(Object o){
if (size+1>=elementData.length) {
this.groupLength();
}else if (size==0){
elementData[0]=o;
}else{
elementData[size] = o;
}
size = size + 1;
}
public void add(int index, Object o){
if (size+1>=elementData.length) {
this.groupLength();
}else if (index == size ) {
elementData[size] = o;
}else if(index>=0 && index<=size ){
Object[] elementDataNew = new Object[this.elementData.length];

System.arraycopy(elementData, 0, elementDataNew, 0, index);
elementDataNew[index]=o;
System.arraycopy(elementData, index, elementDataNew, index+1, size-index);

this.elementData = elementDataNew;
}else{
System.out.println("Ö¸ÕëÔ½½ç");
return;
}

size = size + 1;
}

public Object get(int index){

if (index>=0||index<=size) {
return elementData[index];
}else{
System.out.println("Ö¸ÕëÔ½½ç");
return null;
}

}

public Object remove(int index){

Object obj =this.elementData[index];
Object[] elementDataNew = new Object[this.elementData.length];
if (index<0 || index > size-1) {
System.out.println("Ö¸ÕëÔ½½ç");
return null;
}else if(index==0){
System.arraycopy(elementData, 1, elementDataNew, 0, size-1);
}else if(index==size){
System.arraycopy(elementData, 0, elementDataNew, 0, size-1);
}else if(index>0 && index <=size){
System.arraycopy(elementData, 0, elementDataNew, 0, index);
System.arraycopy(elementData, index+1, elementDataNew, index, size-index-1);
}

this.elementData = elementDataNew;
size=size-1;
return obj;
}

public int size(){
return size;
}

public Iterator iterator(){

return new IteratorArrayList(elementData,size);
}

private void groupLength(){
this.elementData = new Object[this.elementData.length + 10];
size=size+10;
}

public static void main(String[] args) {



ArrayList list = new ArrayList();
System.out.println(list.size());

list.add("aaa");
// System.out.println(list.remove(1));

list.add("bbb");


list.add(1, "ccc");
list.add(2, "ddd");

// System.out.println(list.size());
//
// System.out.println( list.remove(0) );
//
// list.add(0,"111");
// list.add("xxxx");

System.out.println(list.size());
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i)+",");
}
Iterator it = list.iterator();

int idex=0;
while (it.hasNext()) {
String str = (String) it.next();
idex++;
System.out.println("str"+idex+"=="+str+";");

}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.coding.basic;

public class BinaryTreeNode {

private Object data;
private BinaryTreeNode left;
private BinaryTreeNode right;

public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public BinaryTreeNode getLeft() {
return left;
}
public void setLeft(BinaryTreeNode left) {
this.left = left;
}
public BinaryTreeNode getRight() {
return right;
}
public void setRight(BinaryTreeNode right) {
this.right = right;
}

public BinaryTreeNode insert(Object o){
return null;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.coding.basic;

public interface Iterator {
public boolean hasNext();
public Object next();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.coding.basic;

public class IteratorArrayList implements Iterator {


private Object[] elementData;
private int length;

private int index = 0;

public IteratorArrayList(Object[] elementData,int length){
this.elementData = elementData;
this.length = length;
}

@Override
public boolean hasNext() {

if ((index+1)<=length) {
return true;
}

return false;
}

@Override
public Object next() {
if ((index+1)<=length) {
index = index + 1;
return elementData[index-1];
}else{
System.out.println("Ö¸Õ볬¹ý·¶Î§");
return null;
}

}



}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.coding.basic;

import com.coding.basic.LinkedList.Node;

public class IteratorLinkedList implements Iterator{

Node node ;
public IteratorLinkedList(Node node){
this.node = node;
}

@Override
public boolean hasNext() {

if (node == null) {
return false;
}
return true;

}

@Override
public Object next() {
Object obj = this.node.data;
node = node.next;
return obj;
}


}
Loading

0 comments on commit e0bd349

Please sign in to comment.