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

19组作业合并 #30

Merged
merged 36 commits into from
Feb 27, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
be853d3
test
chzh55 Feb 23, 2017
371b7ce
实现arraylist、linkedlist、stack、queue和binarytreenode插入
Feb 24, 2017
dc84c30
from QQ:976180558
Feb 24, 2017
41835f5
second test
Feb 25, 2017
06b4435
third test
Feb 25, 2017
b0cfea5
1st commit
shlugood Feb 25, 2017
05d0293
Revert "test"
shlugood Feb 25, 2017
1fa7bba
revert "Revert "test""
shlugood Feb 25, 2017
3264b8f
Revert "1st commit"
shlugood Feb 25, 2017
8db7091
1st test
shlugood Feb 25, 2017
1ae8f18
coding homework
shlugood Feb 25, 2017
f5614a3
Merge pull request #2 from shlugood/master
zeyuanpinghe Feb 25, 2017
860adc4
Merge pull request #1 from liuqiancheng/master
zeyuanpinghe Feb 25, 2017
782d548
data structures
JaneZhou91 Feb 26, 2017
8fed678
基础集合类实现
silencehe09 Feb 26, 2017
96e5746
1。Achieving ArrayList, LinkedList, and Stack;
piaoxiangyijian Feb 26, 2017
5b64b8f
20170226作业
northSmall Feb 26, 2017
63a54c2
.gitignore修改限制
piaoxiangyijian Feb 26, 2017
b3d0e24
Merge pull request #8 from silencehe09/master
zeyuanpinghe Feb 26, 2017
6c4ee03
Merge pull request #6 from JaneZhou91/master
zeyuanpinghe Feb 26, 2017
e3d379e
Merge pull request #9 from piaoxiangyijian/master
zeyuanpinghe Feb 26, 2017
8e7b643
20170226 fist update kingkeivn
northSmall Feb 26, 2017
4e61361
修改arraylist
northSmall Feb 26, 2017
7257f43
Adding the Queue,BinaryTreeNode function.
piaoxiangyijian Feb 26, 2017
5827a00
Merge pull request #12 from piaoxiangyijian/master
zeyuanpinghe Feb 26, 2017
6ab3255
Merge pull request #11 from northSmall/master
zeyuanpinghe Feb 26, 2017
86a73e5
Merge pull request #10 from xukaide77/20170226-collection
zeyuanpinghe Feb 26, 2017
b8a0750
fix conflict
chzh55 Feb 26, 2017
297fd96
第一周作业
chzh55 Feb 26, 2017
7ef12b2
Create ArrayList
CottonChou Feb 27, 2017
c223e3c
Create LinkedList
CottonChou Feb 27, 2017
c33af41
Merge pull request #13 from CottonChou/master
zeyuanpinghe Feb 27, 2017
79559ad
Create Queue
CottonChou Feb 27, 2017
82abdbd
Create Stack
CottonChou Feb 27, 2017
e495117
Merge pull request #14 from CottonChou/master
zeyuanpinghe Feb 27, 2017
4a5568c
Merge branch 'master' into master
onlyliuxin 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
1 change: 1 addition & 0 deletions group19/1294642551/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/bin/
1 change: 1 addition & 0 deletions group19/1294642551/readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
JaneZhou91's files
57 changes: 57 additions & 0 deletions group19/1294642551/src/data_Structures/ArrayList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package data_Structures;


public class ArrayList implements List {

private int size = 0;

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


public void add(Object o){

elementData[size] = o;
size++;
}
public void add(int index, Object o){

int temp = size;
while(temp > index)
{
elementData[temp] = elementData[temp-1];
temp--;
}

elementData[index] = o;

size++;


}

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

public Object remove(int index){

int temp = index;
while(temp < size-1)
{
elementData[temp] = elementData[temp+1];
temp++;
}
size--;

return elementData[index];
}

public int size(){
return size;
}

public Iterator iterator(){
return null;
}

}
125 changes: 125 additions & 0 deletions group19/1294642551/src/data_Structures/LinkedList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
package data_Structures;


public class LinkedList implements List {

private Node head;
private int size;

LinkedList()
{
size = 0;
}

public void add(Object o){

Node newNode = new Node(o);

if(head == null)
{
head = newNode;
}
else
{
Node tempNode = head;
while(tempNode.next != null)
{
tempNode = tempNode.next;
}
tempNode.next = newNode;

}

size++;
}

public void add(int index , Object o){

Node newNode = new Node(o, getNode(index));
getNode(index-1).next = newNode;

size++;

}

public Node getNode(int index)
{
Node tempNode = head;
int i = 0;
while(i < index)
{
tempNode = tempNode.next;
i++;
}

return tempNode;
}



public Object get(int index){
return getNode(index).data;
}
public Object remove(int index){

Node tempNode = getNode(index);
getNode(index - 1).next = getNode(index+1);
tempNode.next = null;
tempNode.data = null;
size--;
return getNode(index).data;

}

public int size(){
return size;
}

public void addFirst(Object o){

Node tempNode = head;
head = new Node(o);
head.next = tempNode;

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

}
public Object removeFirst(){

Node tempNode = head;
head = getNode(1);
size--;

return tempNode.data;
}
public Object removeLast(){
getNode(size-1).next = null;
size--;
return getNode(size).data;
}
public Iterator iterator(){
return null;
}


private static class Node{
Object data;
Node next;

Node(Object data, Node next )
{
this.data = data;
this.next = next;
}

Node(Object data)
{
this.data = data;
this.next = null;
}

}
}
9 changes: 9 additions & 0 deletions group19/1294642551/src/data_Structures/List.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package data_Structures;

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();
}
28 changes: 28 additions & 0 deletions group19/1294642551/src/data_Structures/Queue.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package data_Structures;

public class Queue {

private LinkedList ll;

Queue()
{
ll = new LinkedList();
}

public void enQueue(Object o){
ll.add(o);;
}

public Object deQueue(){
return ll.removeFirst();
}

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

public int size(){
return ll.size();
}
}
29 changes: 29 additions & 0 deletions group19/1294642551/src/data_Structures/Stack.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package data_Structures;

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

private LinkedList ll;
Stack()
{
ll = new LinkedList();
}

public void push(Object o){
ll.addLast(o);
}

public Object pop(){
return ll.removeLast();
}

public Object peek(){
return null;
}
public boolean isEmpty(){
return ll.size()==0;
}
public int size(){
return ll.size();
}
}
9 changes: 9 additions & 0 deletions group19/1592562638/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/bin/
*.class
*.settings
*.project
*.classpath
*/.settings
*.iml
/.idea
/**/target/**/*
126 changes: 126 additions & 0 deletions group19/1592562638/src/ArrayList_self.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
/*�������ƣ�
* ԭ�ļ����ƣ�
* Ҫ�㣺
* 1. ʵ�ֻ��������ݽṹ�ࣺArrayList

*/
public class ArrayList_self<T> implements KIList<T> {
/***��ʼ��������С***/
private final static int INIT_CAPACITY=12;
private Object[] mList=null;

/***��ǰ����***/
private int mCurrentCapacity=0;
/***������Ԫ�ظ���***/
private int mSize=0;

public ArrayList_self(){
mList=new Object[INIT_CAPACITY];
mCurrentCapacity=INIT_CAPACITY;
}

/**
* ����һ��Ԫ�ص�ArrayListβ��
* @param item
* */
@Override
public void add(T item) {
// TODO Auto-generated method stub
if(mSize==mCurrentCapacity){
expansion();//����
}
mList[mSize]=item;
mSize++;
}

/**
* ����һ��Ԫ�ص�ָ��λ�ã��Ӳ���λ�ü�������Ԫ�������ƶ�һ��λ��
* @param index Ҫ�����λ��
* @param item
* */
@Override
public void add(int index, T item) {
// TODO Auto-generated method stub
if (index<0 || index>=mSize) {//������indexС��0������index >= ���鵱ǰ��С
throw new IndexOutOfBoundsException();//�׳�Խ���쳣
}
if(mSize==mCurrentCapacity){
expansion();//����
}
Object[] newList=new Object[mCurrentCapacity];
System.arraycopy(mList, 0, newList, 0, index);
System.arraycopy(mList, index, newList, index+1, mSize-index);
newList[index]=item;
mList=newList;
mSize++;
}
/**
* �Ƴ�ָ��λ�õ�Ԫ�أ������Ԫ����ǰ�ƶ�һλ
* @param index
* */
@Override
public T remove(int index) {
// TODO Auto-generated method stub
if(index<0 || index>=mSize){
throw new IndexOutOfBoundsException();
}
Object[] newList=new Object[mCurrentCapacity];
System.arraycopy(mList, 0, newList, 0, index);
System.arraycopy(mList, index+1, newList, index, mSize - index);

T tempT=(T) mList[index];
mList=newList;
mSize--;

return tempT;
}
/**
* ����ָ��λ�õ�Ԫ��
* @param index
* @param item
* */
@Override
public void set(int index, T item) {
// TODO Auto-generated method stub
if(index<0 || index>=mSize){
throw new IndexOutOfBoundsException();
}
mList[index]=item;
}
/**
* ��ȡָ��λ�õ�Ԫ��
* @param index
* @return
* */
@Override
public T get(int index) {
// TODO Auto-generated method stub
if(index<0 || index>=mSize){
throw new IndexOutOfBoundsException();
}

return (T)mList[index];
}
/**
* ��ȡ��ǰ�����ij���
* @return int
* */
@Override
public int size() {
// TODO Auto-generated method stub
return mSize;
}

/**
* ���ݣ��� mSize == mCurrentCapacity ʱ����;������ʱ��ÿ�����ӵ�ǰ������50%
* */
private void expansion() {
// TODO Auto-generated method stub
Object[] oldList=mList;
Object[] newList=new Object[mCurrentCapacity + (mCurrentCapacity >> 1)];
System.arraycopy(oldList, 0, newList, 0, oldList.length);
mList=newList;
mCurrentCapacity=mCurrentCapacity + (mCurrentCapacity >> 1);
}

}
Loading