java数据结构之堆栈思想(数组)
很多时候数组存在着很大的缺限,首先必须先设置数组的长度,当设定了之后,就无法改变了。
下来是一种数组长度动态变化的一种方法
package com.yz.mystack;
public class Stack {
Object[] datas;
Integer n=0;
Integer N=1;
public Stack(){
datas=new Object[N];
}
public void push(Object data){
if(n>=N){
N+=2;
Object[] temps=datas;
datas=new Object[N];
for(int i=0;i<temps.length;i++){
datas[i]=temps[i];
}
}
datas[n++]=data;
}
public Object peek(){
return datas[n-1];
}
public Object pop(){
if(--n>=0){
return datas[n];
}
return 0;
}
public static void main(String[] args){
Stack stack=new Stack();
stack.push("aa");
stack.push("bb");
stack.push("cc");
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
}
}
相关文档:
垃圾收集几乎是每个开发人员都喜爱的一个 Java™ 平台特性,它简化了开发,消除了所有种类的潜在代码错误。可尽管垃圾收集一般来说可以让您无需进行资源管理,有时候您还是必须自己进行一些内务处理。
显式地释放资源
Java 程序中使用的绝大多数资源都是对象,垃圾收集在清理对象方面做得很好。因此,您可以使用任 ......
在java中貌似不能同时创建目录和文件,需要分布创建,即不能在创建目录的时候,同时创建该目录下的文件,如果要创建的话,需要分两步,下边是创建的代码Java代码 try { String path = "D:/test ......
1)静态变量本身不会被回收
2)静态变量所引用的对象是可以回收的。
第一点大家应该没有疑问,下面我证明第2点:
看下面的例子及注释。自己可以运行试一下, 注意加上-verbose:gc参数
java -verbose:gc TestStaticGc
// TestStaticGc.java
public class TestStaticGc {
& ......
使用 ANT 开发 Java 程序
常听大家讨论哪个 Java 开发工具比较好,JBuilder,Virtual Cafe ?
今天介绍一个简单易用的 Java 开发,编译,集成,测试工具:Jakarta Ant
他被称为 java 环境里的 make (make 在 C 程序开发 ......
数据结构和算法
冒泡:每次比较都可找出最大或最小的,有序的在最右边
选择排序:有序的在最左边
插入排序:速度比冒泡快一倍,比选择也快。
递归
调用自身
汉诺塔问题:
/**
* @汉诺塔的问题
*/
......