栈和队列的java实现
2015-07-28 20:41
501 查看
package test4;
import java.util.Iterator;
//队列
public class Queue<Item> implements Iterable<Item> {
private Node frist;
private Node last;
private int N;
private class Node{
Item item;
Node next;
}
public boolean isEmpty(){
return frist==null;
}
public int size(){
return N;
}
public void enqueue(Item item){
Node old=last;
last=new Node();
last.item=item;
last.next=null;
if(isEmpty()) frist=last;
else old=null;
N++;
}
public Item dequeue(){
Item item=frist.item;
frist=frist.next;
if(isEmpty()) last=frist;
N--;
return item;
}
@Override
public Iterator<Item> iterator() {
// TODO Auto-generated method stub
return null;
}
}
import java.util.Iterator;
// 栈
public class Stack<Item> implements Iterable<Item> {
private Node frist;
private int N;
private class Node{
Item item;
Node next;
}
public boolean isEmpty(){
return frist==null;
}
public int size(){
return N;
}
public void push(Item item){
Node old=frist;
frist=new Node();
frist.item=item;
frist.next=old;
N++;
}
public Item pop(){
Item item=frist.item;
frist=frist.next;
N--;
return item;
}
@Override
public Iterator<Item> iterator() {
// TODO Auto-generated method stub
return null;
}
}
import java.util.Iterator;
//队列
public class Queue<Item> implements Iterable<Item> {
private Node frist;
private Node last;
private int N;
private class Node{
Item item;
Node next;
}
public boolean isEmpty(){
return frist==null;
}
public int size(){
return N;
}
public void enqueue(Item item){
Node old=last;
last=new Node();
last.item=item;
last.next=null;
if(isEmpty()) frist=last;
else old=null;
N++;
}
public Item dequeue(){
Item item=frist.item;
frist=frist.next;
if(isEmpty()) last=frist;
N--;
return item;
}
@Override
public Iterator<Item> iterator() {
// TODO Auto-generated method stub
return null;
}
}
import java.util.Iterator;
// 栈
public class Stack<Item> implements Iterable<Item> {
private Node frist;
private int N;
private class Node{
Item item;
Node next;
}
public boolean isEmpty(){
return frist==null;
}
public int size(){
return N;
}
public void push(Item item){
Node old=frist;
frist=new Node();
frist.item=item;
frist.next=old;
N++;
}
public Item pop(){
Item item=frist.item;
frist=frist.next;
N--;
return item;
}
@Override
public Iterator<Item> iterator() {
// TODO Auto-generated method stub
return null;
}
}
相关文章推荐
- 在Eclipse上创建Android模拟器
- 1. Java面向对象之泛型-认识泛型
- 1. Java面向对象之泛型-认识泛型
- Java基础之集合函数-Map
- JDK基本介绍
- java基础之集合函数-Set
- Java学习之路0728(十二)(Class类、反射、Annotation功能注解)
- java基础之集合函数-List
- JAVA 注解
- 在Eclipse中关联源代码
- Java学习之路0727(十一)(正则表达式、线程)
- Java实现手机号码归属地判别
- java基础之理解多态
- Java(07-28)学习总结
- Java画陆龟
- 使用myeclipse与sqlyog实现简单的增删查修功能中常见的错误
- java基础之对象数组
- java用volatile或AtomicBoolean实现高效并发处理 (只初始化一次的功能要求)
- Java集合排序及java集合类详解--(Collection, List, Set, Map)
- Java集合排序及java集合类详解--(Collection, List, Set, Map)