Skip to content

Commit 05da6d2

Browse files
authored
Merge pull request onlyliuxin#20 from Nannf/master
2_26作业
2 parents 592228b + 5f754ce commit 05da6d2

File tree

6 files changed

+306
-1
lines changed

6 files changed

+306
-1
lines changed
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
interface MyIterator{
2+
public boolean hasNext();
3+
public Object next();
4+
5+
}
6+
7+
8+
public class ArrayList {
9+
/* public static void main(String[] d){
10+
ArrayList p = new ArrayList();
11+
p.add("asd");p.add("123");p.add("123");p.add("234");p.add("456");
12+
p.remove(1);
13+
p.add(1, 345);
14+
MyIterator it = p.iterator();
15+
while(it.hasNext()){
16+
System.out.println(it.next().toString());
17+
}
18+
}
19+
*/
20+
21+
private int size = 0;
22+
23+
private Object[] elementData = new Object[100];
24+
25+
public void add(Object o){
26+
if(size >= elementData.length){//À©³äÊý×鳤¶È
27+
Object[] tem = new Object[elementData.length*2];
28+
for(int i=0;i<size;i++){
29+
tem[i] = elementData[i];
30+
}
31+
elementData = tem;
32+
}
33+
elementData[size] = o;
34+
size++;
35+
}
36+
public void add(int index, Object o){
37+
if(size >= elementData.length){
38+
Object[] tem = new Object[elementData.length*2];
39+
for(int i=0;i<size;i++){
40+
tem[i] = elementData[i];
41+
}
42+
elementData = tem;
43+
}
44+
for(int i = index; i < size; i++){
45+
elementData[i+1] = elementData[i];
46+
}
47+
elementData[index] = o;
48+
size++;
49+
}
50+
51+
public Object get(int index){
52+
return elementData[index];
53+
}
54+
55+
public Object remove(int index){
56+
if(index<0 || index >=size){
57+
throw new IndexOutOfBoundsException();
58+
}
59+
for(int i = index; i < size; i++){
60+
elementData[i-1] = elementData[i];
61+
}
62+
size--;
63+
return elementData[index];
64+
}
65+
66+
public int size(){
67+
return size;
68+
69+
}
70+
71+
72+
class MMIt implements MyIterator{
73+
int loc = 0;
74+
75+
public boolean hasNext() {
76+
if(loc>=size)
77+
return false;
78+
else
79+
return true;
80+
}
81+
82+
83+
public Object next() {
84+
++loc;
85+
return elementData[loc-1];
86+
}
87+
88+
}
89+
90+
91+
public MyIterator iterator(){
92+
return new MMIt();
93+
}
94+
95+
}
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
2+
3+
public class LinkedList {
4+
5+
private Node head = new Node();
6+
private int size = 0;
7+
8+
public void add(Object o){
9+
Node tem = new Node();
10+
tem.data = o;
11+
tem.next = null;
12+
Node temp = head;
13+
int i = 0;
14+
while(i<size){
15+
temp = temp.next;
16+
++i;
17+
}
18+
temp.next = tem;
19+
size++;
20+
21+
}
22+
public void add(int index , Object o){
23+
if(index <=0 || index >size+1)
24+
throw new IndexOutOfBoundsException();
25+
Node tem = new Node();
26+
tem.data = o;
27+
tem.next = null;
28+
++size;
29+
Node temp = head;
30+
int i = 0;
31+
while(i<index-1){
32+
temp = temp.next;
33+
++i;
34+
}
35+
tem.next=temp.next;
36+
temp.next = tem;
37+
38+
}
39+
public Object get(int index){
40+
Node temp = head;
41+
int i = 0;
42+
while(i<index){
43+
temp = temp.next;
44+
++i;
45+
}
46+
return temp.data;
47+
}
48+
public Object remove(int index){
49+
if(index <=0 || index >size+1)
50+
throw new IndexOutOfBoundsException();
51+
--size;
52+
Node temp = head;
53+
int i = 0;
54+
while(i<index-1){
55+
temp = temp.next;
56+
++i;
57+
}
58+
Object t = temp.next.data;
59+
temp.next=temp.next.next;
60+
return t;
61+
62+
}
63+
64+
public int size(){
65+
return size;
66+
}
67+
68+
public void addFirst(Object o){
69+
Node tem = new Node();
70+
tem.data = o;
71+
tem.next = null;
72+
head.next = tem;
73+
size++;
74+
75+
}
76+
public void addLast(Object o){
77+
Node tem = new Node();
78+
tem.data = o;
79+
tem.next = null;
80+
Node temp = head;
81+
int i = 0;
82+
while(i<size){
83+
temp = temp.next;
84+
++i;
85+
}
86+
temp.next = tem;
87+
size++;
88+
89+
}
90+
public Object removeFirst(){
91+
Object t = head.next.data;
92+
head.next=head.next.next;
93+
size--;
94+
return t;
95+
}
96+
public Object removeLast(){
97+
Node temp = head;
98+
int i = 0;
99+
while(i<size-1){
100+
temp = temp.next;
101+
++i;
102+
}
103+
Object t = temp.next.data;
104+
temp.next = null;
105+
size--;
106+
return t;
107+
108+
}
109+
public static void main(String []args){
110+
LinkedList l = new LinkedList();
111+
l.addFirst("c");
112+
l.add("a");
113+
l.add(1,"b");//这里的1是第一个,而不是序号
114+
l.add("123");
115+
System.out.println(l.removeFirst());
116+
System.out.println(l.remove(2));
117+
System.out.println(l.removeLast());
118+
}
119+
120+
121+
122+
private static class Node{
123+
Object data;
124+
Node next;
125+
126+
}
127+
}

group08/1226637491/2_26/Queue.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import java.util.EmptyStackException;
2+
3+
public class Queue {
4+
private ArrayList elementData = new ArrayList();
5+
public void enQueue(Object o){
6+
elementData.add(o);
7+
}
8+
9+
public Object deQueue(){
10+
if(!isEmpty())
11+
return elementData.remove(1);
12+
else
13+
throw new EmptyStackException();
14+
}
15+
16+
17+
public boolean isEmpty(){
18+
if(elementData.size()==0)
19+
return true;
20+
return false;
21+
}
22+
23+
public int size(){
24+
return elementData.size();
25+
}
26+
public static void main(String[] args){
27+
Queue q = new Queue();
28+
q.enQueue("123");
29+
q.enQueue("a");
30+
q.enQueue("f");
31+
q.enQueue("t");
32+
q.enQueue("w");
33+
34+
System.out.println(q.deQueue());
35+
System.out.println(q.size());
36+
System.out.println(q.isEmpty());
37+
38+
}
39+
}

group08/1226637491/2_26/Stack.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import java.util.EmptyStackException;
2+
3+
public class Stack {
4+
private ArrayList elementData = new ArrayList();
5+
6+
public void push(Object o){
7+
elementData.add(o);
8+
}
9+
10+
public Object pop(){
11+
if(!isEmpty())
12+
return elementData.remove();
13+
else
14+
throw new EmptyStackException();
15+
}
16+
public Object peek(){
17+
int len = elementData.size();
18+
if(!isEmpty())
19+
return elementData.get(len-1);
20+
throw new EmptyStackException();
21+
}
22+
public boolean isEmpty(){
23+
if(elementData.size()==0)
24+
return true;
25+
else
26+
return false;
27+
}
28+
public int size(){
29+
return elementData.size();
30+
}
31+
/* public static void main(String[] args){
32+
Stack s = new Stack();
33+
s.push("123");
34+
s.push("1");
35+
s.push("1234");
36+
s.push("1253");
37+
s.push("1263");
38+
System.out.println(s.size());
39+
System.out.println(s.peek());
40+
System.out.println(s.pop());
41+
System.out.println(s.isEmpty());
42+
}*/
43+
}
44+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
https://note.youdao.com/web/#/file/recent/note/WEB4a6ed504d001e1753756740ae417e540/

group08/1226637491/haha.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)