java数据结构之堆栈
建立节点类(Node.java)
package com.yz.mystack;
public class Node {
Object data;
Node next;
public Node(Object data){
this.data=data;
next=null;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
建立链表(Link.java)
package com.yz.mystack;
public class Link {
Node head;
public Link(){
head=new Node(null);
}
public void addNode(Node node){
Node p=head;
node.setNext(p.getNext());
p.setNext(node);
}
public void delNode(){
if(!isEmploy()){
head.setNext(head.getNext().getNext());
}
}
public Node gettop(){
return head.getNext();
}
public Boolean isEmploy(){
return head.getNext()==null;
}
public void display(){
Node p=head;
while(true){
p=p.getNext();
if(p!=null){
System.out.println(p.getData());
}else{
break;
}
}
}
}
建立堆栈
package com.yz.mystack;
public class Stack {
Link link;
public Stack(){
link=new Link();
}
public void push(Object data){
link.addNode(new Node(data));
}
public Object peek(){
return link.gettop().getData();
}
public Object pop(){
Object data=peek();
link.delNode();
return data;
}
}
测试(Man.java)
package com.yz.mystack;
public class Man {
public static void main(String[] args){
Stack stack=new Stack();
stack.push("aa");
stack.push("bb");
stack.push("cc");
System.out.println(stack.peek());
System.out.println(stack.peek());
System.out.println(stack.peek());
System.out.println(stack.pop());
System.out.println(stack.pop());
}
}
相关文档:
垃圾收集几乎是每个开发人员都喜爱的一个 Java™ 平台特性,它简化了开发,消除了所有种类的潜在代码错误。可尽管垃圾收集一般来说可以让您无需进行资源管理,有时候您还是必须自己进行一些内务处理。
显式地释放资源
Java 程序中使用的绝大多数资源都是对象,垃圾收集在清理对象方面做得很好。因此,您可以使用任 ......
JAVA反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属 ......
Java代码:
import java.util.regex.*;
public final class RegExpValidator
{
/**
* 验证邮箱
* @param 待验证的字符串
* @return 如果是符合的字符串,返回 <b>true </b>,否则为 <b>false </b>
*/
public static boolean isEmail(String str)
{
......