public class ArrayStack {
Object[] m_elements;
int m_size;
public ArrayStack(int len) {
m_elements = new Object[len];
m_size = 0;
}
public ArrayStack() {
this(50);
}
// insert onto stack
public void push(Object element) {
m_elements[m_size] = element;
m_size++;
}
// return and remove the top element
public Object pop() {
if (!this.isEmpty()) {
Object obj = m_elements[m_size - 1];
m_elements[m_size - 1] = null;
m_size--;
return obj;
} else {
return null;
}
}
// return the top element
public Object top() {
if (!this.isEmpty()) {
return m_elements[m_size - 1];
} else {
return null;
}
}
// return 1 --> is empty
// return 0 --> is not empty
public boolean isEmpty() {
return this.size() == 0;
}
public int size() {
return m_size;
}
}
使用链表实现(单链表) :
public class Stacklist {
Node m_header;
int m_size;
public void ListStack() {
m_header = null;
m_size = 0;
}
public void push(Object value) {
m_header = new Node(value, m_header);
}
public Object pop() {
if (!this.isEmpty()) {
throw new RuntimeException("Stack underflow");
}
Object obj = m_header.element;
m_header = m_header.next;
return obj;
}
// return reference to most recently added elemenet
public Object peek() {
if (!this.isEmpty()) {
throw new RuntimeException("Stack underflow");
}
return m_header.element;
}
public boolean isEmpty() {
return this.size() == 0;
}
// return the number of the queue's elements;
public int size() {
return m_size;
}
}
链表的需要用到一个结点类 Node.java 代码如下
public class Node {
Object element;
Node next;
public Node(Object theElement) {
this(theElement, null);
}
public Node(Object theElement, Node n) {
element = theElement;
next = n;
}
public Object getElement() {
return element;
}
public void setElement(Object element) {
this.element = element;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
分享到:
相关推荐
【标题】:“用Java写的一个QQ聊天程序” 这个标题揭示了我们的主要话题是关于一个使用Java编程语言实现的QQ聊天程序。Java是一种广泛使用的、面向对象的编程语言,以其跨平台性和“一次编写,到处运行”的特性而...
这是一个用java写出来的扫雷程序,在jdk1.6版本下运行,可以作为高校课程设计源程序之用.
用java编写的一个简单的计算器小程序 希望对大家有所帮助
java写文件的一个小程序,很小很小的 java写文件的一个小程序,很小很小的
java 写的 时钟小程序 代码注释详细 代码 拿了 就能用
java作业 用java实现判断回文程序免费下载
自己用java写的局域网聊天程序 嘿嘿 摆上来 有人要不?
用Java编写的仿windows自带计算器程序的源代码,可用任何文本编辑器打开。 从界面到功能80%与windows计算器程序一致,适合GUI编程初学者学习。 技术特点:OOP思想,MVC,内部类。
在Java编程中,有时我们需要设计一个程序来实现自动重启的功能,比如在系统出现异常或者更新后需要自动恢复服务。在给定的标题"java程序自动重新启动"中,我们可以理解这是一个实现了自动重启逻辑的Java程序。描述...
这个标题为“一个用JAVA写的清除EXE病毒文件的代码”的项目,显然是利用Java来编写的一种防病毒解决方案,主要针对的是可执行文件(EXE)的病毒清理。 描述中提到的“清除EXE病毒文件的代码”,意味着这个Java程序...
在Java编程领域,创建一个生日祝福程序是一种常见的实践,它能为用户提供个性化和有趣的互动体验。这个名为"生日祝福java程序代码"的压缩包显然包含了多个功能模块,旨在为生日庆祝活动增添乐趣。以下是该程序可能...
用JAVA写的应用程序登录界面,类似QQ的,所以用在聊天程序是很好的哦,谢谢光顾啊!
http客户端java程序,代码质量高,经过测试。
`Inno Setup`则是一个方便的安装包制作工具,可以将我们的Java程序和精简后的JRE打包成一个安装包,进一步减小用户使用的复杂性。通过`Inno Setup`,我们可以定制安装界面,定义安装路径,以及包括哪些文件和目录。...
Socket是面向客户/服务器模型设计的,网络上的两个程序通过一个双向的通讯连接实现数据的交换。Socket机制提供了两种通讯方式:有联接和无联接方式,分别面向不同的应用需求。 JAVA语言的优点 JAVA语言的优点主要...
`表示声明了一个整型变量age并赋值为25。 2. **数据类型**:Java有两大类数据类型:基本数据类型(如int、char、boolean)和引用数据类型(如类、接口、数组)。理解不同类型的特点和使用场景是编写有效Java代码的...
基于java的开发源码-Tsinghua IP 清华大学学生写的一个有关IP的程序.zip 基于java的开发源码-Tsinghua IP 清华大学学生写的一个有关IP的程序.zip 基于java的开发源码-Tsinghua IP 清华大学学生写的一个有关IP的程序....
实用性:《Java程序设计习题集》每章都含有一些趣味题,营造了一种轻松而快乐的学习氛围,努力培养和提高学生的学习乐趣,同时也使学生容易产生学习成就感。 趣味性:习题基本上覆盖了程序员在编写Java程序时...
总的来说,Java B/S 抽奖程序是一个结合了前端交互设计和后端逻辑处理的综合性项目,它展示了Java在Web开发领域的强大能力。无论是对于初学者还是经验丰富的开发者,这样的程序都提供了学习和实践的绝佳机会。通过对...
自己写的一个获取某文件夹下的文件个数的JAVA程序