`
michelecindy
  • 浏览: 175729 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

用java写一个堆践程序

    博客分类:
  • Java
阅读更多
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编程语言实现的QQ聊天程序。Java是一种广泛使用的、面向对象的编程语言,以其跨平台性和“一次编写,到处运行”的特性而...

    这是一个用java写的扫雷程序

    这是一个用java写出来的扫雷程序,在jdk1.6版本下运行,可以作为高校课程设计源程序之用.

    用java编写的一个简单的计算器小程序

    用java编写的一个简单的计算器小程序 希望对大家有所帮助

    java写文件的一个小程序

    java写文件的一个小程序,很小很小的 java写文件的一个小程序,很小很小的

    java写的一个时钟小程序

    java 写的 时钟小程序 代码注释详细 代码 拿了 就能用

    java判断回文程序

    java作业 用java实现判断回文程序免费下载

    java写的局域网聊天程序

    自己用java写的局域网聊天程序 嘿嘿 摆上来 有人要不?

    Java编写的仿windows自带计算器程序(源代码)

    用Java编写的仿windows自带计算器程序的源代码,可用任何文本编辑器打开。 从界面到功能80%与windows计算器程序一致,适合GUI编程初学者学习。 技术特点:OOP思想,MVC,内部类。

    java程序自动重新启动

    在Java编程中,有时我们需要设计一个程序来实现自动重启的功能,比如在系统出现异常或者更新后需要自动恢复服务。在给定的标题"java程序自动重新启动"中,我们可以理解这是一个实现了自动重启逻辑的Java程序。描述...

    一个用JAVA写的清除EXE病毒文件的代码

    这个标题为“一个用JAVA写的清除EXE病毒文件的代码”的项目,显然是利用Java来编写的一种防病毒解决方案,主要针对的是可执行文件(EXE)的病毒清理。 描述中提到的“清除EXE病毒文件的代码”,意味着这个Java程序...

    生日祝福java程序代码

    在Java编程领域,创建一个生日祝福程序是一种常见的实践,它能为用户提供个性化和有趣的互动体验。这个名为"生日祝福java程序代码"的压缩包显然包含了多个功能模块,旨在为生日庆祝活动增添乐趣。以下是该程序可能...

    用JAVA写的应用程序登录界面

    用JAVA写的应用程序登录界面,类似QQ的,所以用在聊天程序是很好的哦,谢谢光顾啊!

    http客户端java程序

    http客户端java程序,代码质量高,经过测试。

    把java生成独立的程序,不用安装jdk也可使用

    `Inno Setup`则是一个方便的安装包制作工具,可以将我们的Java程序和精简后的JRE打包成一个安装包,进一步减小用户使用的复杂性。通过`Inno Setup`,我们可以定制安装界面,定义安装路径,以及包括哪些文件和目录。...

    使用JAVA编写网络通信程序

    Socket是面向客户/服务器模型设计的,网络上的两个程序通过一个双向的通讯连接实现数据的交换。Socket机制提供了两种通讯方式:有联接和无联接方式,分别面向不同的应用需求。 JAVA语言的优点 JAVA语言的优点主要...

    自考java 04747《Java语言程序设计(一)》教材电子版

    `表示声明了一个整型变量age并赋值为25。 2. **数据类型**:Java有两大类数据类型:基本数据类型(如int、char、boolean)和引用数据类型(如类、接口、数组)。理解不同类型的特点和使用场景是编写有效Java代码的...

    基于java的开发源码-Tsinghua IP 清华大学学生写的一个有关IP的程序.zip

    基于java的开发源码-Tsinghua IP 清华大学学生写的一个有关IP的程序.zip 基于java的开发源码-Tsinghua IP 清华大学学生写的一个有关IP的程序.zip 基于java的开发源码-Tsinghua IP 清华大学学生写的一个有关IP的程序....

    Java程序设计习题集下载

     实用性:《Java程序设计习题集》每章都含有一些趣味题,营造了一种轻松而快乐的学习氛围,努力培养和提高学生的学习乐趣,同时也使学生容易产生学习成就感。  趣味性:习题基本上覆盖了程序员在编写Java程序时...

    Java B/S 抽奖程序

    总的来说,Java B/S 抽奖程序是一个结合了前端交互设计和后端逻辑处理的综合性项目,它展示了Java在Web开发领域的强大能力。无论是对于初学者还是经验丰富的开发者,这样的程序都提供了学习和实践的绝佳机会。通过对...

    自己写的一个获取某文件夹下的文件个数的JAVA程序

    自己写的一个获取某文件夹下的文件个数的JAVA程序

Global site tag (gtag.js) - Google Analytics