下面用代码演示,做简单的栈和队列
队列+测试
package cn.hncu.MySet3;
import java.util.ArrayList;
public class MyQueue<E>{
private ArrayList<E> list=new ArrayList<E>(0);//队列用ArrayLIst最好
public boolean enqueue(E e){
return list.add(e);
}
public E dequeue(){
if (list.size()==0) {
return null;
}
return list.remove(0);
}
public boolean isEmpty(){
if (list.size()==0) {
return false;
}else{
return true;
}
}
public ArrayList<E> getAll(){
return list;
}
}
package cn.hncu.MySet3;
import java.util.ArrayList;
import java.util.TreeSet;
public class MyStack<E> {
private ArrayList<E> set=new ArrayList<E>();
public boolean in(E e){
return set.add(e);
}
public E out(){
if(set.size()==0){
return null;
}
E e=set.remove(set.size()-1);
return e;
}
}
package cn.hncu.MySet3;
import java.util.ArrayList;
import java.util.Iterator;
public class Test1 {
public static void main(String[] args) {
//t1();
//t2();
t3();
}
private static void t3() {
MyStack<String > stack =new MyStack<String>();
stack.in("333");
stack.in("222");
System.out.println(stack.out().toString());
}
private static void t2() {
MyQueue<Integer> queue2=new MyQueue<Integer>();
queue2.enqueue(1);
queue2.enqueue(111);
queue2.enqueue(-00);
queue2.enqueue(300);
// queue.enqueue(2);//不行,不是String
queue2.dequeue();
queue2.dequeue();
ArrayList<Integer> list=queue2.getAll();
Iterator<Integer> it=list.iterator();
while(it.hasNext()){
Integer s=it.next();
System.out.println(s);
}
}
private static void t1() {
MyQueue<String> queue=new MyQueue<String>();
queue.enqueue("1");
queue.enqueue("aaa");
queue.enqueue("bbb");
queue.enqueue("ccc");
// queue.enqueue(2);//不行,不是String
queue.dequeue();
queue.dequeue();
ArrayList<String> list=queue.getAll();
Iterator<String> it=list.iterator();
while(it.hasNext()){
String s=it.next();
System.out.println(s);
}
}
}