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写文件内容程序java写文件内容程序java写文件内容程序java写文件内容程序java写文件内容程序java写文件内容程序java写文件内容程序java写文件内容程序java写文件内容程序java写文件内容程序java写文件内容程序...
【标题】:“用Java写的一个QQ聊天程序” 这个标题揭示了我们的主要话题是关于一个使用Java编程语言实现的QQ聊天程序。Java是一种广泛使用的、面向对象的编程语言,以其跨平台性和“一次编写,到处运行”的特性而...
用java编写的一个简单的计算器小程序 希望对大家有所帮助
java写文件的一个小程序,很小很小的 java写文件的一个小程序,很小很小的
java 写的 时钟小程序 代码注释详细 代码 拿了 就能用
java作业 用java实现判断回文程序免费下载
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
自己用java写的局域网聊天程序 嘿嘿 摆上来 有人要不?
关于画JAVA笑脸的小程序,简单易懂,适合初学者临摹与修改
用Java编写的仿windows自带计算器程序的源代码,可用任何文本编辑器打开。 从界面到功能80%与windows计算器程序一致,适合GUI编程初学者学习。 技术特点:OOP思想,MVC,内部类。
在Java编程中,有时我们需要设计一个程序来实现自动重启的功能,比如在系统出现异常或者更新后需要自动恢复服务。在给定的标题"java程序自动重新启动"中,我们可以理解这是一个实现了自动重启逻辑的Java程序。描述...
这个标题为“一个用JAVA写的清除EXE病毒文件的代码”的项目,显然是利用Java来编写的一种防病毒解决方案,主要针对的是可执行文件(EXE)的病毒清理。 描述中提到的“清除EXE病毒文件的代码”,意味着这个Java程序...
http客户端java程序,代码质量高,经过测试。
`表示声明了一个整型变量age并赋值为25。 2. **数据类型**:Java有两大类数据类型:基本数据类型(如int、char、boolean)和引用数据类型(如类、接口、数组)。理解不同类型的特点和使用场景是编写有效Java代码的...
java 3d 人体行走模拟程序 主要运用TransformGroup,Behavior
本程序利用了JPCAP库,这是一个Java接口,可以访问网络接口进行数据包捕获。JPCAP是Java Packet Capture的缩写,它是对libpcap(在Windows上是winpcap)的封装,提供了跨平台的网络数据包捕获能力。 首先,我们需要...
实用性:《Java程序设计习题集》每章都含有一些趣味题,营造了一种轻松而快乐的学习氛围,努力培养和提高学生的学习乐趣,同时也使学生容易产生学习成就感。 趣味性:习题基本上覆盖了程序员在编写Java程序时...
总之,"一些比较有意思的Java小程序"是一个很好的学习资源,它提供了实践和探索Java编程的多种途径。对于那些想要踏入Java世界的新手来说,这是一个很好的起点,也是不断提升编程技能的良好平台。
java编写的ATM模拟程序,GUI界面,连接Mysql数据库,实现了管理员界面(增删改查),用户界面(取款,存款,查询,安全退出,修改密码,转账,查询记录,导出记录),详情请看我的博客 ...