Skip to content

Commit

Permalink
Merge pull request #9 from Kandde/master
Browse files Browse the repository at this point in the history
重新提交
  • Loading branch information
zhanglifeng authored Feb 27, 2017
2 parents f2f107a + 079d6c4 commit e15805d
Show file tree
Hide file tree
Showing 15 changed files with 215 additions and 53 deletions.
Empty file.
79 changes: 79 additions & 0 deletions group05/1094051862/test01/src/com/coding/basic/ArrayList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
package com.coding.basic;

import java.util.Arrays;

public class ArrayList implements List {

private int size = 0;

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

private int increaseSize = 3;
private void increaseArray() {
Object[] newData = Arrays.copyOf(elementData, elementData.length + increaseSize);
elementData = newData;
}
public void add(Object o){
if (size == elementData.length) {
increaseArray();
elementData[size++] = o;
} else {
elementData[size++] = o;
}
}
public void add(int index, Object o){
if (index < 0 || index > size) {
System.out.println("错误提示:index > size || index < 0");
return;
}
Object temp;
for (int i = index; i < size; i++) {
temp = elementData[i];
elementData[i] = o;
o = temp;
}
elementData[size ++] = o;
}

public Object get(int index){
if (index < 0 || index > size ){
return null;
}
return elementData[index];
}

public Object remove(int index){
if (index < 0 || index > size ){
return null;
}
Object result = elementData[index];
for (int i = index; i < size-1; i++) {
elementData[i] = elementData[i + 1];
}
elementData[size-1] = null;
size --;
return result;
}

public int size(){
return size;
}

public Iterator iterator(){
return new Iterator() {
private int cusor = 0;
@Override
public Object next() {
if (!hasNext()) {
System.out.println("next: !hasNext");
return null;
}
return elementData[cusor ++];
}
@Override
public boolean hasNext() {
return cusor < size;
}
};
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.coding1094051862.basic;
package com.coding.basic;

import org.junit.Assert;
import org.junit.Test;
Expand All @@ -7,7 +7,7 @@ public class ArrayListTest {

@Test
public void test() {
ArrayList list = new ArrayList();
List list = new ArrayList();
for(int i = 0; i < 10; i++) {
list.add(i);
}
Expand All @@ -18,6 +18,14 @@ public void test() {
Assert.assertEquals(12, list.size());
Assert.assertEquals(99, list.remove(3));
Assert.assertEquals(11, list.size());
Iterator iterator = list.iterator();
for (int i = 0; i< list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("======");
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}

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

public class BinaryTreeNode {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.coding1094051862.basic;
package com.coding.basic;

public interface Iterator {
public boolean hasNext();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.coding1094051862.basic;
package com.coding.basic;

public class LinkedList implements List {

Expand Down Expand Up @@ -114,16 +114,23 @@ public Object removeLast(){
}
public Iterator iterator(){
return new Iterator() {
int cusor = 0;
Node current = head;
@Override
public Object next() {
// TODO Auto-generated method stub
return null;
if (!hasNext()) {
System.out.println("next : !hasNext");
return null;
}
Object o = current.data;
current = current.next;
cusor ++;
return o;
}

@Override
public boolean hasNext() {
// TODO Auto-generated method stub
return false;
return cusor < size;
}
};
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.coding1094051862.basic;
package com.coding.basic;

import junit.framework.Assert;

Expand Down Expand Up @@ -27,6 +27,10 @@ public void test() {
Assert.assertEquals(3, list.get(5));
Assert.assertEquals(4, list.get(6));
Assert.assertEquals(800, list.get(8));
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}

}
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package com.coding1094051862.basic;
package com.coding.basic;

public interface List {
public void add(Object o);
public void add(int index, Object o);
public Object get(int index);
public Object remove(int index);
public int size();
public Iterator iterator();
}
25 changes: 25 additions & 0 deletions group05/1094051862/test01/src/com/coding/basic/Queue.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.coding.basic;

public class Queue {
private List list = new ArrayList();
private int size = 0;
public void enQueue(Object o){
list.add(o);
size ++;
}

public Object deQueue(){
if (size == 0)
return null;
size --;
return list.remove(0);
}

public boolean isEmpty(){
return size == 0;
}

public int size(){
return size;
}
}
26 changes: 26 additions & 0 deletions group05/1094051862/test01/src/com/coding/basic/QueueTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.coding.basic;

import static org.junit.Assert.*;
import junit.framework.Assert;

import org.junit.Test;

import sun.org.mozilla.javascript.internal.ast.NewExpression;

public class QueueTest {

@Test
public void test() {
Queue queue = new Queue();
for (int i = 0; i < 100; i++) {
queue.enQueue(i);
}
Assert.assertEquals(100, queue.size());
for (int i = 0; i < 100; i++) {
Assert.assertEquals(i, queue.deQueue());
}
Assert.assertEquals(0, queue.size());

}

}
28 changes: 28 additions & 0 deletions group05/1094051862/test01/src/com/coding/basic/Stack.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.coding.basic;

public class Stack {
private List elementData = new ArrayList();
private int size = 0;
public void push(Object o){
elementData.add(o);
size ++;
}

public Object pop(){
if (size == 0)
return null;
return elementData.remove(--size);
}

public Object peek(){
if (size == 0)
return null;
return elementData.get(size - 1);
}
public boolean isEmpty(){
return size == 0;
}
public int size(){
return size;
}
}
26 changes: 26 additions & 0 deletions group05/1094051862/test01/src/com/coding/basic/StackTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.coding.basic;

import static org.junit.Assert.*;
import junit.framework.Assert;

import org.junit.BeforeClass;
import org.junit.Test;

public class StackTest {

@Test
public void test() {
Stack stack = new Stack();
for (int i = 0; i < 100; i++) {
stack.push(i);
}
Assert.assertEquals(100, stack.size());
Assert.assertEquals(99, stack.pop());
for (int i = 98; i >= 0; i--) {
Assert.assertEquals(i, stack.peek());
Assert.assertEquals(i, stack.pop());
}
Assert.assertEquals(0, stack.size());
}

}

This file was deleted.

This file was deleted.

This file was deleted.

0 comments on commit e15805d

Please sign in to comment.