diff --git a/group02/562768642/src/com/github/orajavac/coding2017/basic/ArrayList.java b/group02/562768642/src/com/github/orajavac/coding2017/basic/ArrayList.java new file mode 100644 index 0000000000..73ac68069d --- /dev/null +++ b/group02/562768642/src/com/github/orajavac/coding2017/basic/ArrayList.java @@ -0,0 +1,101 @@ +package com.github.orajavac.coding2017.basic; + +public class ArrayList implements List,Iterator{ + + private int size = 0; + + private int i=0; + + private Object[] elementData = new Object[2]; + + //SS + public void add(Object o){ + size=size(); + if (size == elementData.length) + grow(elementData,size); + elementData[size]=o; + } + public void add(int index, Object o){ + Object old=elementData[index]; //[3] old value=c + size=size(); + size+=1; + if (size>elementData.length) + grow(elementData,size); + Object temp = null; + int len=elementData.length; + for (int i=0;iindex){ + temp=elementData[i]; + elementData[i]=old; //[4]=c + old=temp; + } + } + } + + public Object get(int index){ + return elementData[index]; + } + + public Object remove(int index){ + if (index==elementData.length-1){ //ɾ�����һ������Ԫ�����ֵ + elementData[index]=null; + }else{ + elementData[index]=null; + int len=elementData.length; + for (int i=0;iindex){ + if(i+1!=len){ + elementData[i]=elementData[i+1]; + }else{ //���Ǽ����������� 0-3����ô���鳤����4��3+1==4��elementData[i+1]�ᱨ�� + elementData[i]=null; + } + } + } + } + return null; + } + + public int size(){ + size=0; + for (int i=0;i "); + c=c.next; + } + System.out.println(); + } + public Iterator iterator(){ + LinkedList l = new LinkedList(); + l.head=this.head; + return l; + } + + public boolean hasNext(){ + current = head; + if (current!=null){ + head = current.next; + return true; + } + return false; + } + + public Object next(){ + return current.data; + } + + + private static class Node{ + Object data; + Node next; + + } +} diff --git a/group02/562768642/src/com/github/orajavac/coding2017/basic/List.java b/group02/562768642/src/com/github/orajavac/coding2017/basic/List.java new file mode 100644 index 0000000000..129333b4da --- /dev/null +++ b/group02/562768642/src/com/github/orajavac/coding2017/basic/List.java @@ -0,0 +1,9 @@ +package com.github.orajavac.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(); +} diff --git a/group02/562768642/src/com/github/orajavac/coding2017/basic/Queue.java b/group02/562768642/src/com/github/orajavac/coding2017/basic/Queue.java new file mode 100644 index 0000000000..772806e391 --- /dev/null +++ b/group02/562768642/src/com/github/orajavac/coding2017/basic/Queue.java @@ -0,0 +1,34 @@ +package com.github.orajavac.coding2017.basic; + +public class Queue { + +private ArrayList elementData = new ArrayList(); + + public void enQueue(Object o){ + elementData.add(o); + } + + public Object deQueue(){ + Object obj = elementData.get(0); + elementData.remove(0); + return obj; + } + + public ArrayList getElementData() { + return elementData; + } + + public void setElementData(ArrayList elementData) { + this.elementData = elementData; + } + + public boolean isEmpty(){ + if (elementData.size()>0) + return true; + return false; + } + + public int size(){ + return elementData.size(); + } +} diff --git a/group02/562768642/src/com/github/orajavac/coding2017/basic/Stack.java b/group02/562768642/src/com/github/orajavac/coding2017/basic/Stack.java new file mode 100644 index 0000000000..62d9f2e278 --- /dev/null +++ b/group02/562768642/src/com/github/orajavac/coding2017/basic/Stack.java @@ -0,0 +1,49 @@ +package com.github.orajavac.coding2017.basic; + +public class Stack { + private ArrayList elementData = new ArrayList(); + + public void push(Object o){ + elementData.add(o); + } + + public Object pop(){ + int s=elementData.size(); + Object obj = null; + for (int i=s-1;i>=0;i--){ + if(elementData.get(i)!=null){ + obj = elementData.get(i); + elementData.remove(i); + break; + } + } + return obj; + } + + public Object peek(){ + int s=elementData.size(); + Object obj = null; + for (int i=s-1;i>=0;i--){ + if(elementData.get(i)!=null){ + obj = elementData.get(i); + break; + } + } + return obj; + } + public boolean isEmpty(){ + if (elementData.size()>0) + return true; + return false; + } + public int size(){ + return elementData.size(); + } + public ArrayList getElementData() { + return elementData; + } + + public void setElementData(ArrayList elementData) { + this.elementData = elementData; + } +}