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

用JAVA实现堆栈(数组篇)

什么是堆栈,关于这个名词,我在百度,google搜索了半天,也没有发现一个比较权威的解释,还有许多资料语焉不详,就以维基百科的解释为准吧,和我记忆中的一致。
堆栈(英文:stack),中国大陆作堆栈,台湾作堆叠,在计算机科學中,是一種特殊的串列形式的資料結構,它的特殊之處在於只能允許在鏈結串列或陣列的一端(稱為堆疊頂端指標,英文為top)進行加入資料(push)和輸出資料(pop)的運算。另外堆疊也可以用一維陣列或連結串列的形式來完成。堆疊的另外一個相對的操作方式稱為佇列。
由於堆疊資料結構只允許在一端進行操作,因而按照後進先出(LIFO, Last In First Out)的原理運作。
堆疊資料結構使用兩種基本操作:推入(push)和彈出(pop):
推入(push) :將數據放入堆疊的頂端(陣列形式或串列形式),堆疊頂端top指標加一。
彈出(pop)  :將頂端數據資料輸出(回傳),堆疊頂端資料減一。
下面是用java数组实现堆栈
/**
* 使用数组实现堆栈,包括入栈、出栈、获取堆栈长度、
* @author Adair
*/
public class Stack {

Object[] data;

int maxSize;
//栈顶位置
int top;

public Stack(int maxSize) {
this.maxSize = maxSize;
data = new Object[maxSize];
top = -1;
}

/**
* 获取堆栈长度
* @return 堆栈长度
*/
public int getSize()
{
return maxSize;
}

/**
* 返回栈中元素的个数
* @return 栈中元素的个数
*/
public int getElementCount()
{
return top;
}

/**
* 判断栈空
* @return 栈空
*/
public boolean isEmpty()
{
return top == -1;
}

/**
* 判断栈满
* @return 栈满
*/
public boolean isFull()
{
return top+1


相关文档:

JNA实现Java调用Fortran

在成功实现Java调用C++之后,接下来想到能否通过JNA实现Java调用Fortran,今天试验了一下,还是比较容易的。
网上有一个Java调用F95的例子,但是我考虑不仅要实现F95的调用,还要实现F77的调用,所以费了一些周折。
问题的关键在于F77为过程名自动添加了一个尾部的下划线,所以sub1这个过程,到Java一端,就变成了sub1_, ......

JAVA 调用Web Service的方法

1.使用HttpClient
用到的jar文件:commons-httpclient-3.1.jar
方法:
预先定义好Soap请求数据,可以借助于XMLSpy Professional软件来做这一步生成。
String soapRequestData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instanc ......

java 面试资料(收集)

1.简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。(15分)
    a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型
    b.逻辑操作不会产生短路
2.下面程序运行会发生什么结果?如果有错误,如何改正? (15分)
interface  A{
  int x = 0; ......

java多线程


1. 创建线程有两种方式:
1)扩展java.lang.Thread类
public class ThreadTest extends Thread{ }
2)实现Runnable接口
public class ThreadTest implements Runnable{ }
2. Thread类代表线程类,有两个最主要的方法:
1)run() 包含线程运行时所执行的代码。
用户的线程类只需要继承Thread类,覆盖Thread类的run( ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号