Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

group 2 week 1 #27

Merged
merged 64 commits into from
Feb 27, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
4550485
Add my first code
harryhook Feb 23, 2017
f3f4984
第一周作业提交
Feb 23, 2017
478e4c4
数据结构部分第一次提交,尚未完成二叉树
miniyk2012 Feb 23, 2017
c707d7d
第一周作业测试通过
Feb 24, 2017
250c46e
完成二叉树
miniyk2012 Feb 25, 2017
c27c036
implementation of basic data structures
fei9009 Feb 25, 2017
be549f3
补充测试用例
miniyk2012 Feb 25, 2017
0b24942
第一次作业
fengyang969 Feb 25, 2017
b62ffb6
Merge pull request #1 from miniyk2012/master
Feb 25, 2017
829aec0
Merge pull request #3 from FelixCJF/master
Feb 25, 2017
692b812
Add my first code v1.0
harryhook Feb 25, 2017
dfa4596
Merge pull request #4 from fei9009/master
Feb 25, 2017
b0fb337
Merge pull request #5 from hwjcc969/master
Feb 25, 2017
021a19d
finish basic data structures, pass all unit tests
Feb 25, 2017
2ff2c32
Merge pull request #6 from eloiseSJTU/dev
Feb 25, 2017
dca4822
update junit test
fei9009 Feb 25, 2017
8d011fa
Finish Except Tree
congcongcong250 Feb 26, 2017
97248d3
提交基础数据结构类
liuqingchen Feb 26, 2017
e6ef9f1
Add my first code v1.1
harryhook Feb 26, 2017
0275882
add ignore
harryhook Feb 26, 2017
6d3967a
BinaryTree
congcongcong250 Feb 26, 2017
b33c76f
Merge pull request #7 from fei9009/master
Feb 26, 2017
e62e923
Merge pull request #8 from HarryHook/master
Feb 26, 2017
2e0d430
Merge pull request #9 from congcongcong250/master
Feb 26, 2017
5c18ae5
add all java
Ven13 Feb 26, 2017
cb4ca62
Revert "第一次作业"
Feb 26, 2017
d4847fe
Merge pull request #10 from eloiseSJTU/revert-5-master
Feb 26, 2017
2d81ec7
Merge pull request #1 from eloiseSJTU/master
Ven13 Feb 26, 2017
87dcc87
Revert "Master"
Feb 26, 2017
9b22a01
Merge pull request #12 from eloiseSJTU/revert-8-master
Feb 26, 2017
a2e298b
Merge pull request #11 from Ven13/master
Feb 26, 2017
571f8a9
提交基础数据结构类
liuqingchen Feb 26, 2017
abd1eca
第一次作业
liuqingchen Feb 26, 2017
5cc9d7c
提交基础数据结构
liuqingchen Feb 26, 2017
564f89a
Merge pull request #15 from lqingchenl/master
Feb 26, 2017
6a0535d
Submit my first code
harryhook Feb 26, 2017
9135105
Merge pull request #16 from HarryHook/master
Feb 26, 2017
5c888ed
add Test junit
Ven13 Feb 26, 2017
53bf53d
第一次数据结构作业
HapppyLiu Feb 26, 2017
915f294
Merge pull request #18 from lhpmatlab/master
Feb 26, 2017
f9fe902
Revert "第一次数据结构作业"
Feb 26, 2017
97a370b
Merge pull request #19 from eloiseSJTU/revert-18-master
Feb 26, 2017
5cfb6d5
Revert "Revert "第一次数据结构作业""
Feb 26, 2017
e539934
Merge pull request #20 from eloiseSJTU/revert-19-revert-18-master
Feb 26, 2017
3648573
Merge pull request #2 from eloiseSJTU/master
Ven13 Feb 26, 2017
63a23fd
第一次数据结构
HapppyLiu Feb 26, 2017
a0ef984
MyArrayList,MyLinkedList,Queue,Stack
ZhoufeifeiJAVA Feb 26, 2017
2768aaf
Merge pull request #21 from ZhoufeifeiJAVA/master
Feb 26, 2017
075a0bd
Merge pull request #22 from lhpmatlab/master
Feb 26, 2017
71b3352
Merge pull request #3 from eloiseSJTU/master
Ven13 Feb 26, 2017
83d2c9d
Merge pull request #23 from Ven13/master
Feb 26, 2017
b073bb8
ArrayList and LiknedList test pass
congcongcong250 Feb 26, 2017
9197183
Stack and Queue test pass
congcongcong250 Feb 26, 2017
b9b061c
Simple BinaryTreeNode test pass
congcongcong250 Feb 26, 2017
54de242
Merge pull request #24 from congcongcong250/master
Feb 26, 2017
ed776ab
LinkedList add a throw
Ven13 Feb 26, 2017
f530c65
20170227_09:52
orajavac Feb 27, 2017
6799d3d
123
orajavac Feb 27, 2017
d54fe1e
999
orajavac Feb 27, 2017
7f0db0b
Merge pull request #25 from Ven13/master
Feb 27, 2017
d7a0caf
Merge pull request #26 from orajavac/master
Feb 27, 2017
fe4b28c
Merge pull request #27 from onlyliuxin/master
Feb 27, 2017
4cd858a
Revert "第一次数据结构作业"
Feb 27, 2017
37551bd
Merge pull request #29 from eloiseSJTU/revert-20-revert-19-revert-18-…
Feb 27, 2017
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
package com.github.Ven13.coding2017.basic;

public class ArrayList implements List {

//���ؼ��ϴ�С
private int size = 0;

//�ȸ���һ������Ϊ10������
Object[] elementData = new Object[100];

@Override
//��̬����Ԫ��
public void add(Object o) {
//���ж������Ƿ�����
if(size == elementData.length) {
Object[] newObjects = new Object[elementData.length * 2];
System.arraycopy(elementData, 0, newObjects, 0, elementData.length);
elementData = newObjects;
}

//Ϊ�����ӵ�Ԫ��ָ���±�
elementData[size] = o;
size++;
}

@Override
public void add(int index, Object o) {
//���ж������Ƿ�����
if(size == elementData.length) {
Object[] newObjects = elementData;
this.elementData = new Object[elementData.length * 2];
for(int j = 0; j < newObjects.length; j++) {
this.elementData[j] = newObjects[j];
}
}

for(int i = size - 1; i >= index; i--) {
elementData[i+1] = elementData[i];
}

elementData[index] = o;
size++;
}

@Override
public Object get(int index) {
return elementData[index];
}

@Override
public Object remove(int index) {
if (index > size) {
return null;
};

int moveSize = size - index - 1;

if (moveSize > 0) {
System.arraycopy(elementData, index + 1, elementData, index, size - index - 1);
}
elementData[--size] = null;

//for(int i = index; i < elementData.length; i++) {
// elementData[i] = elementData[i+1];
//}

return elementData;
}

@Override
public int size() {
return size;
}

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

private class ArrayListIterator implements Iterator {

private int currentIndex = 0;

@Override
public boolean hasNext() {
if(currentIndex >= size) return false;
else return true;
}

@Override
public Object next() {
Object o = elementData[currentIndex];
currentIndex ++;
return o;
}
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.github.Ven13.coding2017.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.github.Ven13.coding2017.basic;

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

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
package com.github.Ven13.coding2017.basic;

public class LinkedList implements List {

//��ʾ�������ij���
private int size;

//������ͷԪ��
private Node head;
//������βԪ��
private Node tail;

//ʹ���ڲ�����ʵ��������ÿһ���ڵ㣬ÿ���ڵ���һ��ָ����һ��Ԫ�ص�next���Լ�������data
private static class Node {
public Object data;
public Node next;

public Node(Object data) {
this.data = data;
}
}

//�����Ĺ��췽��
public LinkedList() {
}

@Override
public void add(Object o) {
add(size, o);
}

@Override
public void add(int index, Object o) {
if(index == 0) {
addFirst(o);
} else {
if(index >= size) {
addLast(o);
} else {
Node node = head;
for (int i = 1; i < index; i++) {
head = head.next;
}
Node nextNode = node.next;
Node temp = new Node(o);
node.next = temp;
temp.next = nextNode;
size++;
}
}
}

//����ǰ��
public void addFirst(Object o) {
Node newNode = new Node(o);
newNode.next = head;
head = newNode;
size++;
if(tail == null) {
tail = head;
}
}

//���Ӻ���
public void addLast(Object o) {
if(tail == null) {
tail = head = new Node(o);
} else {
Node newNode = new Node(o);
tail.next = newNode;
tail = tail.next;
}
size++;
}


@Override
public Object get(int index) {
Node node = head;
for(int i = 0; i < index; i++) {
node = node.next;
}
return node.data;
}

@Override
public Object remove(int index) {
if(size == 0) {
throw new java.util.NoSuchElementException();
}
if(index == 0) {
Node node = head;
Node temp = node.next;
head = temp;
size--;
return node.data;
} else {
if(index >= size) {
throw new java.util.NoSuchElementException();
} else {
Node node = head;
for(int i = 1; i < index; i++) {
node = node.next;
}
Node temp = node.next;
node.next = temp.next;
size--;
return node.data;
}
}

}

@Override
public int size() {
return size;
}

public Object removeFirst() {
//ͨ��ͷָ�봴��ͷ�ڵ�
Node hNode = head;
if (hNode == null) {
throw new java.util.NoSuchElementException();
}
Node nNode = hNode.next;
Object element = hNode.data;

//�Ƴ�
hNode.data = null;
hNode.next = null;
head = nNode;
//�ж��Ƿ�Ϊβ�ڵ�
if (nNode == null) {
tail = null;
}else {
nNode = null;
}
size --;
return element;
}

public Object removeLast() {
return remove(size - 1);
}

public Iterator iterator() {
return new LinkedListIterator();
}

private class LinkedListIterator implements Iterator {

private Node node = head.next;

@Override
public boolean hasNext() {
return node != tail;
}

@Override
public Object next() {

if(!hasNext()) {
throw new java.util.NoSuchElementException();
}
Object nextData = node.data;
node = node.next;
return nextData;
}

}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.github.Ven13.coding2017.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();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.github.Ven13.coding2017.basic;

public class Queue {

private LinkedList list = new LinkedList();
private int size = 0;

public void enQueue(Object o){
size++;
list.addLast(o);
}

public Object deQueue(){
size--;
return list.removeFirst();
}

public boolean isEmpty(){
if(size == 0) {
return true;
} else {
return false;
}
}

public int size(){
return size;
}

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

public class Stack {
private ArrayList elementData = new ArrayList();

public void push(Object o){

elementData.add(o);
}

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

public Object peek(){
return elementData.get(0);
}
public boolean isEmpty(){
return elementData.size() == 0;
}
public int size(){
return elementData.size();
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.github.Ven13.coding2017.basic.test;

import org.junit.Before;

import com.github.Ven13.coding2017.basic.*;

public class ArrayListTest extends ListTest{



}
Loading