易截截图软件、单文件、免安装、纯绿色、仅160KB

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内存释放心得

1 如果一块内存区域能够重复利用,最好不要申请新的。这个内存区域有可能是系统的一个类,自己的一个内部有数组元素,或者能够放大量数据的结构。
2 最好不要在循环里面申请内存,循环越大,越坏事。换句话说,申请内存频率别太高。好比一个人每顿吃两碗饭正好,身体的消化系统可以承受,如果让他一顿把十顿的都吃掉,不胀 ......

java的基本数据类型是无符号的

真是惭愧啊, 学了怎么久 java, 现在才知道 java 的基本数据类型是不存在有符号和无符号这种东西的. 平时都没有搞字节和位之类的运算, 所以倒是没有注意到这个方面呢.
JAVA中的基本数据类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。(这句抄的)
Java简单数据类型   ......

java数据结构讲述之链表

关于java的链表思想
先可看以下例子
先建立一个实例(Student.java)
package com.yz.mylink;
public class Student {
private Integer id;
private String name;
private Integer age;
private String classes;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = i ......

Java 中的内部静态类

Java 中内部动态类(没有static)关键字和内部静态类的就在于内部动态类不能定义静态变量或是静态方法,如果要在内部类中使用静态成员,必须将类声明为静态类. 内部类中的静态方法可以访问外部类的静态方法和本类中的静态方法或成员, 非静态方法可以访问其他所有的方法或成员 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号