Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
54fe271
update group08
Greastate Feb 24, 2017
0a78bfc
基本的数据结构
yangyangxu2016 Feb 25, 2017
d6988d5
update
Feb 25, 2017
6008f71
初始化
Feb 25, 2017
1b03166
update
Feb 25, 2017
17c650a
update
Feb 25, 2017
ae3190c
Merge pull request #4 from amorvos/amorvos
Greastate Feb 25, 2017
71d9737
update
Feb 25, 2017
0b7ce67
Merge pull request #5 from amorvos/amorvos
Greastate Feb 25, 2017
f385948
ArrayList Compeleted
Feb 25, 2017
8725021
BlingBling~~
XuanDQ Feb 25, 2017
5ca4bf2
add code 2-26
vvvandbb Feb 25, 2017
a42e407
LinkedList Completed
Feb 25, 2017
c6b11b7
Stack & Queue Completed
Feb 25, 2017
d728768
BinaryTreeNode Completed
Feb 25, 2017
4d1b8b5
Merge pull request #7 from vvvandbb/master
Greastate Feb 25, 2017
2e62dee
Merge pull request #6 from XuanDQ/master
Greastate Feb 25, 2017
6009626
Move Files To 2-26
Feb 25, 2017
0815268
数据结构
Feb 25, 2017
beefb0c
Article Of Comp-Units-Relations
Feb 25, 2017
b2d3dde
提交数据结构
wayss000 Feb 25, 2017
ccac23d
删除一个
wayss000 Feb 25, 2017
c8ea7d6
Merge pull request #11 from wayss000/master
Greastate Feb 25, 2017
a672d37
Merge pull request #10 from zjt-github/master
Greastate Feb 25, 2017
73c69e8
add List ...
Feb 25, 2017
dcb6d21
Delete .DS_Store
ronanhardiman Feb 25, 2017
beb4535
Merge pull request #12 from ronanhardiman/master
Greastate Feb 25, 2017
bf5dbbd
2-26 assignment
mingming-lu Feb 25, 2017
adb014d
Merge pull request #14 from akinaru-lu/master
Greastate Feb 25, 2017
9073ff3
CPU related
Feb 25, 2017
cc5465d
hand in homework
YukoOshima Feb 25, 2017
9251e42
Merge pull request #15 from ronanhardiman/master
Greastate Feb 25, 2017
c38a630
upload homework for 2-26
chhsalex Feb 25, 2017
db24fec
Merge pull request #17 from chhsalex/master
Greastate Feb 25, 2017
cae5cf8
submit homework.875325254.2-26
Greastate Feb 25, 2017
592228b
Merge remote-tracking branch 'origin/master'
Greastate Feb 25, 2017
f4bcca7
提交到本地
Feb 25, 2017
5f754ce
2_26作业
Nannf Feb 25, 2017
8970100
rm idea
YukoOshima Feb 25, 2017
05da6d2
Merge pull request #20 from Nannf/master
Greastate Feb 25, 2017
bca76d7
Merge pull request #19 from xiongyilun/master
Greastate Feb 25, 2017
6b30a5c
Merge pull request #18 from YukoOshima/master
Greastate Feb 25, 2017
ddbb860
2017.2.25 史磊提交作业
Feb 25, 2017
6f952f1
2016.2.25 史磊提交作业
Feb 25, 2017
449ae44
Merge pull request #21 from McRays/master
Greastate Feb 25, 2017
1ff9487
Create 文章链接
yangyangxu2016 Feb 25, 2017
93890b3
基本数据结构
yangyangxu2016 Feb 25, 2017
e861019
Merge pull request #23 from yangyangxu2016/master
Greastate Feb 25, 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
119 changes: 119 additions & 0 deletions group08/108621969/2-26/com/coding/basic/ArrayList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
package com.coding.basic;

import java.util.Arrays;

/**
* Created by zhangjiatao on 2017/2/25.
*/
public class ArrayList implements List {
private int size = 0;
private Object[] elementData = new Object[100];

@Override
public void add(Object o) {
if(isFull()) {
elementData = expandArray(elementData);
}
elementData[size++] = o;
}

@Override
public void add(int index, Object o) {
ifOutOfBounds(index);
if(isFull()) {
elementData = expandArray(elementData);
}
System.arraycopy(elementData,index,elementData,index+1,size++);
elementData[index] = o;
}

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

@Override
public Object remove(int index) {
ifOutOfBounds(index);
Object delData = elementData[index];
System.arraycopy(elementData,index+1,elementData,index,size-index);
size--;
return index;
}

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

@Override
public String toString() {
String str = "";
for(int i=0; i<=size-1; i++){
str += elementData[i] + " ";
}
return str;
}

private boolean isFull() {
if(size >= elementData.length-1){
return true;
}
return false;
}

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

private void ifOutOfBounds(int index) {
if(index >= size || index < 0) {
throw new IndexOutOfBoundsException();
}
}

private Object[] expandArray(Object[] arr) {
return Arrays.copyOf(arr, arr.length+10);
}

public Iterator iterator = new ArrayListIterator(this);

private class ArrayListIterator implements Iterator{

private ArrayList arrList;
int position = 0,length;

private ArrayListIterator(ArrayList arrList){
this.arrList = arrList;
this.length = arrList.size();
}

@Override
public boolean hasNext() {
return position < length;
}

@Override
public Object next() {
return arrList.get(position++);
}

}

public static void main(String[] args) {
ArrayList arr = new ArrayList();
arr.add(1);
arr.add(2);
arr.add(3);
arr.add(1,4);
arr.remove(2);
System.out.println(arr.toString());
System.out.println(arr.size());
System.out.println(arr.iterator.next());
System.out.println(arr.iterator.next());
}
}
56 changes: 56 additions & 0 deletions group08/108621969/2-26/com/coding/basic/BinaryTreeNode.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package com.coding.basic;

/**
* Created by zhangjiatao on 2017/2/25.
*/
public class BinaryTreeNode {
private Object data;
private BinaryTreeNode left;
private BinaryTreeNode right;

public BinaryTreeNode(Object o) {
this.data = o;
this.left = null;
this.right = null;
}

public int getData() {
return (int) 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) {
BinaryTreeNode newNode = new BinaryTreeNode(o);
insertInto(this, newNode);
return this;
}

private void insertInto(BinaryTreeNode tree, BinaryTreeNode o) {
if (o.getData() <= tree.getData()) {
if (tree.getLeft() != null) insertInto(tree.getLeft(), o);
else tree.setLeft(o);
} else {
if (tree.getRight() != null) insertInto(tree.getRight(), o);
else tree.setRight(o);
}
}
}
9 changes: 9 additions & 0 deletions group08/108621969/2-26/com/coding/basic/Iterator.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.coding.basic;

/**
* Created by zhangjiatao on 2017/2/25.
*/
public interface Iterator {
public boolean hasNext();
public Object next();
}
174 changes: 174 additions & 0 deletions group08/108621969/2-26/com/coding/basic/LinkedList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
package com.coding.basic;

import java.util.Objects;

/**
* Created by zhangjiatao on 2017/2/25.
*/
public class LinkedList implements List {
private Node head = null,tail = null;
private int size=0;
private LinkedListIterator iterator = null;

@Override
public void add(Object o) {
Node newNode = new Node(o);
if(tail == null) {
head = tail = newNode;
}else {
tail.next = newNode;
tail = newNode;
}
size++;
}

@Override
public void add(int index, Object o) {
ifOutOfBounds(index);
Node temp = head,previousNode = head;
Node newNode = new Node(o);
if(index == 0) {
newNode.next = head;
head = newNode;
return ;
}
while(index-- > 0) {
previousNode = temp;
temp = temp.next;
}
previousNode.next = newNode;
newNode.next = temp;
size++;
}

@Override
public Object get(int index) {
ifOutOfBounds(index);
Node temp = head;
while(index-- > 0) {
temp = temp.next;
}
return temp;
}

@Override
public Object remove(int index) {
ifOutOfBounds(index);
Node temp = head,previousNode = head;
if(head == tail) {
head = tail = null;
return temp;
}
while(index-- > 0) {
previousNode = temp;
temp = temp.next;
}
if(tail == temp) {
tail = previousNode;
}
previousNode.next = temp.next;
size--;
return temp;
}

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

public void addFirst(Object o) {
add(0,o);
}

public void addLast(Object o) {
add(o);
}

public Object removeFirst() {
return remove(0);
}

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

public LinkedListIterator Iterator() {
if(iterator ==null) {
iterator = new LinkedListIterator(this);
}
return iterator;
}

private void ifOutOfBounds(int index) {
if(index >= size || index < 0) {
throw new IndexOutOfBoundsException();
}
}

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

public String toString() {
String str = "";
Node temp = head;
while(temp!=tail) {
str = str + temp.data + " ";
temp = temp.next;
}
return str + tail.data;
}

private static class Node {
Object data;
Node next;
public Node(Object o) {
this.data = o;
this.next = null;
}
}

private class LinkedListIterator implements Iterator {
private LinkedList linkedList = null;
private Node currentNode = null;

public LinkedListIterator(LinkedList linkedList) {
this.linkedList = linkedList;
this.currentNode = this.linkedList.head;
}

@Override
public boolean hasNext() {
if(linkedList.isEmpty()) return false;
return currentNode.next != null;
}

@Override
public Object next() {
Object data = currentNode.data;
if(hasNext()) {
currentNode = currentNode.next;
}
return data;
}
}

public static void main(String[] args) {
LinkedList arr = new LinkedList();
arr.add(1);
arr.add(2);
arr.add(3);
arr.add(5);
arr.add(1,4);
arr.remove(2);
arr.removeLast();
arr.addFirst(5);
System.out.println(arr.toString());
System.out.println(arr.size());
System.out.println(arr.Iterator().hasNext());
System.out.println(arr.Iterator().next());
System.out.println(arr.Iterator().next());
System.out.println(arr.Iterator().next());
System.out.println(arr.Iterator().next());
}
}
12 changes: 12 additions & 0 deletions group08/108621969/2-26/com/coding/basic/List.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.coding.basic;

/**
* Created by zhangjiatao on 2017/2/25.
*/
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();
}
Loading