`
cscoder
  • 浏览: 15885 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java LinkedList模拟堆栈

 
阅读更多
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
import java.util.Stack;
/*
 * LinkedList模拟堆栈
 */
class stackList{
	private LinkedList<String> stack;
	public stackList()
	{
		stack=new LinkedList<String>();
	}
	public void push(String e)
	{
		stack.push(e);//stack.addFirst()
	}
	public String pop()
	{
		return stack.pop();//stack.removeFirst()
	}
	public boolean isEmpty()
	{
		return stack.isEmpty();
	}
	
}
public class t12_7 {


	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input=new Scanner(System.in);
		stackList stack=new stackList();
		System.out.println("请输入数据(quit)结束");
		while(true)
		{
			String str=input.next();
			if(str.equals("quit"))
				break;
			stack.push(str);
		}
		System.out.println("先进后出的序列:");
		while(!stack.isEmpty())
			System.out.println(stack.pop());
	}


}


请输入数据(quit)结束
a b c d e quit
先进后出的序列:
e
d
c
b
a


分享到:
评论

相关推荐

    使用LinkedList模拟堆栈

    以下是使用LinkedList模拟堆栈的步骤: 1. 首先,我们需要创建一个LinkedList实例,这将是我们的堆栈容器。 ```java LinkedList&lt;Object&gt; stack = new LinkedList(); ``` 2. 实现压栈操作。LinkedList的addFirst()...

    LinkedList学习示例模拟堆栈与队列数据结构

    总结来说,本示例通过Java的LinkedList类展示了如何模拟堆栈和队列这两种基本数据结构。理解这些数据结构及其操作(如压栈、弹栈、入队、出队)是编程基础的重要组成部分,对于解决各种计算问题,尤其是那些涉及到...

    集合的应用——利用LinkedList模拟进栈出栈操作.zip

    总结一下,这个压缩包中的内容涵盖了Java集合框架中的LinkedList类以及如何利用它来模拟栈操作。这包括使用LinkedList的addFirst()和removeFirst()方法实现push和pop,通过`StringStack1.java`类封装这些操作,并在`...

    JAVA 模拟队列的实现

    本课程设计旨在通过模拟队列的实现,帮助学习者深入理解Java编程以及队列数据结构的运作原理。 队列作为一种线性数据结构,遵循“先进先出”(FIFO)原则,即最早插入的元素最先被移除,而最近插入的元素则在队尾等待...

    JAVA快速排序(递归实现与非递归堆栈模拟实现)

    ### JAVA快速排序(递归实现与非递归堆栈模拟实现) #### 一、递归实现的快速排序 快速排序是一种非常高效的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分的所有记录都比另一...

    java版的操作系统进程调度模拟.zip

    - **模拟数据结构**:可能使用`ArrayList`、`LinkedList`或自定义的数据结构来存储进程信息,如进程ID、到达时间、服务时间等。 - **同步与通信**:通过`synchronized`关键字、`wait()`, `notify()`和`notifyAll()...

    JAVA集合框架1.pdf

    `push()`方法使用`addFirst()`将元素添加到链表头部,模拟堆栈的后进先出(LIFO)特性;`pop()`方法使用`removeFirst()`移除并返回链表头部的元素,即堆栈顶元素;`peek()`方法仅返回链表头部的元素,不进行删除。 ...

    数据结构 C C++ JAVA

    C语言中,可以用数组模拟堆栈,通过定义top变量来跟踪栈顶元素;C++和Java中,可以使用标准模板库(STL)的stack容器或者自定义类来实现堆栈。 在C、C++和Java中实现数据结构时,上机指导和源程序是非常重要的学习...

    06-堆栈、队列.pdf

    在这份文档中,提到了使用数组(Array)和链表(LinkedList)作为堆栈和队列的实现方式。这两种数据结构各有特点:数组的存取速度相对较快,而链表的插入和删除操作更加灵活。在实际应用中,根据需求的不同,选择...

    数据结构演示系统(java源代码)

    在Java中,可以使用ArrayDeque或LinkedList来模拟堆栈。源代码可能包含了push、pop、peek等基本操作的实现。 2. **队列**:队列是一种先进先出(FIFO)的数据结构,适用于任务调度、消息传递等。Java提供了Queue...

    banco:java堆栈和队列的示例代码

    4. **Java实现**:Java提供了`java.util.Queue`接口,以及它的实现如`LinkedList`、`PriorityQueue`等。常用的是`java.util.concurrent`包下的`BlockingQueue`,它支持线程安全的队列操作。 在"banco-master"这个...

    Java斗地主

    【Java斗地主】是一款基于Java编程语言开发的桌面游戏,它模拟了经典的三人斗地主玩法,让玩家能够在计算机上体验到与人机对战或网络对战的乐趣。在这个项目中,Java技术被充分利用来实现游戏逻辑、用户界面、网络...

    JAVA集合框架1[收集].pdf

    `push`方法使用`addLast`将元素添加到链表末尾,模拟堆栈的后进先出特性;`pop`方法使用`removeLast`从链表末尾移除元素,返回移除的元素;`peek`方法使用`getFirst`获取但不移除链表的第一个元素,即堆栈顶部元素。...

    Java 上机练习题

    创建一个线程安全的计数器程序,模拟多个线程同时访问并更新计数器。 9. **反射与泛型**:了解反射机制,能动态获取类的信息并实例化对象。学习泛型的使用,以提高代码的类型安全性。设计一个简单的反射示例,动态...

    java 数据结构课件

    图则由顶点和边构成,适合表示多对多的关系,Java集合框架未直接提供图的实现,但可以通过ArrayList或其他容器类模拟。 哈希表(HashMap)是一种高效的数据结构,它通过哈希函数快速定位元素。Java中的HashMap允许...

    Java实现单链表的基本操作

    在实际项目中,单链表常用于处理动态数据集合,如实现LRU缓存策略、模拟队列或堆栈等。 总之,理解和掌握单链表及其基本操作是Java程序员必备的技能之一。通过练习和应用这些知识,可以提升对数据结构的理解,从而...

    java程序员笔试面试大全(附全部试题答案)

    Java程序员在求职过程中,无论是笔试还是面试,都需要对核心...这份“Java程序员笔试面试大全”文档将详尽解析以上各个知识点,并提供相应的试题及答案,帮助求职者巩固知识,模拟实战,以期在激烈的竞争中脱颖而出。

    火车厢重排 单步演示

    可以使用Java的内置LinkedList类作为底层数据结构,因为它支持O(1)时间复杂度的addFirst()(相当于push)和removeFirst()(相当于pop)操作。此外,还需要一个变量来跟踪目标顺序中的下一个车厢,以及一个List来保存...

    JAVA完全培训课程表

    4. **集合框架**:学习ArrayList、LinkedList、HashMap等集合类的使用,以及泛型的概念。 接着,课程会逐渐引入更高级的主题,例如: 5. **IO流**:教授如何进行文件操作,包括读写文件、数据流的输入输出以及缓冲...

    java纸牌游戏

    为了方便操作,这些数据可能被组织成有序或无序的数据结构,例如堆栈(用于模拟洗牌)或队列(用于处理玩家的手牌)。 2. **类与对象**:Java的面向对象特性在这里发挥了重要作用。每个纸牌、玩家、游戏桌等都可以...

Global site tag (gtag.js) - Google Analytics