- 浏览: 324369 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (254)
- java (178)
- tomcat (6)
- 邮件 (1)
- smtp (1)
- Linux (2)
- 编码 (2)
- 导入工程 (1)
- Specification Level (1)
- hibernate (10)
- 字段类型 (1)
- 字段类型匹配 (1)
- 数据库 (3)
- sql (9)
- struts2 (8)
- 类型转换 (2)
- java,MyEclipse,SVN (1)
- Myecplise (4)
- 输入校验 (1)
- JFrame (2)
- Oracle (8)
- google (1)
- Swing (3)
- Fusioncharts (1)
- 找工作 (0)
- js (4)
- jsp (11)
- displaytag (1)
- spring (8)
- 工作 (1)
- String (1)
- 算法 (2)
- IO (1)
- xml (3)
- 设计模式 (1)
- UML (1)
- 文档 (1)
- ajax (1)
- 日常 (7)
- sql server (1)
- mysql (3)
- git (1)
- Maven (1)
- mongodb (1)
- postman (1)
最新评论
LinkedList实现栈:
LinkedList实现队列:
关于栈和队列相关数据结构方面的知识见圣思源笔记Lesson 5里面的collection.pdf文档。
package com.shengsiyuan; import java.util.LinkedList; /** * 栈(先进后出) * 类: Stack <br> * 描述: TODO <br> * 作者: fangguanhong fangguanhong@163.com <br> * 时间: Sep 9, 2013 9:14:57 PM */ public class Stack { /** * 存放栈里面的元素,维护栈里面的元素 */ private LinkedList list = new LinkedList(); /** * 压栈 * 方法: push <br> * 描述: TODO <br> * 作者: fangguanhong fangguanhong@163.com <br> * 时间: Sep 9, 2013 9:16:02 PM * @param o */ public void push(Object o) { list.addLast(o); } /** * 弹出,从栈里面将最上面的一个元素弹出,相当于删除掉 * 方法: pop <br> * 描述: TODO <br> * 作者: fangguanhong fangguanhong@163.com <br> * 时间: Sep 9, 2013 9:16:35 PM * @return */ public Object pop() { if (list != null && list.size() > 0) { // 直接返回删除掉的那个元素 Object obj = list.removeLast(); return obj; } return null; } /** * 查看,只获取此元素本身用作查看,不把此元素弹出 * 方法: peek <br> * 描述: TODO <br> * 作者: fangguanhong fangguanhong@163.com <br> * 时间: Sep 9, 2013 9:17:27 PM * @return */ public Object peek() { if (list != null && list.size() > 0) { return list.getLast(); } return null; } /** * 判断栈是否为空,判断栈里面是不是还有元素 * 方法: isEmpty <br> * 描述: TODO <br> * 作者: fangguanhong fangguanhong@163.com <br> * 时间: Sep 9, 2013 9:18:53 PM * @return */ public boolean isEmpty() { // if (list != null && list.size() > 0) { // return true; // } // return false; return list.isEmpty(); } }
LinkedList实现队列:
package com.shengsiyuan; import java.util.LinkedList; /** * 队列(先进先出) * 类: Queue <br> * 描述: TODO <br> * 作者: fangguanhong fangguanhong@163.com <br> * 时间: Sep 9, 2013 9:11:11 PM */ public class Queue { /** * 存放队列里面的元素,维护队列里面的元素 */ private LinkedList list = new LinkedList(); /** * 将元素放到队列里面去 * 方法: put <br> * 描述: TODO <br> * 作者: fangguanhong fangguanhong@163.com <br> * 时间: Sep 9, 2013 9:11:56 PM * @param o */ public void put(Object o) { list.addLast(o); } /** * 从队列里面取出来一个元素,然后把这个元素删掉 * 方法: get <br> * 描述: TODO <br> * 作者: fangguanhong fangguanhong@163.com <br> * 时间: Sep 9, 2013 9:12:55 PM * @return */ public Object get() { if (list != null && list.size() > 0) { // 直接返回删除掉的那个元素 Object obj = list.removeFirst(); return obj; } return null; } /** * 判断队列是否为空 * 方法: isEmpty <br> * 描述: TODO <br> * 作者: fangguanhong fangguanhong@163.com <br> * 时间: Sep 9, 2013 9:13:43 PM * @return */ public boolean isEmpty() { // if (list != null && list.size() > 0) { // return true; // } // return false; return list.isEmpty(); } public static void main(String[] args) { Queue queue = new Queue(); queue.put("one"); queue.put("two"); queue.put("three"); System.out.println(queue.get()); System.out.println(queue.get()); System.out.println(queue.get()); System.out.println(queue.isEmpty()); } }
关于栈和队列相关数据结构方面的知识见圣思源笔记Lesson 5里面的collection.pdf文档。
发表评论
-
领域精通涉及技术点(不分先后)
2017-12-20 19:35 620Java8 netty jvm kafaka消息队列 上传下载 ... -
计算机各种单位讲解及换算
2017-12-13 13:54 1642我还听过有UK的 一、最小单位:位(bit,缩写为b) 在原 ... -
JAVA字符串格式化-String.format()和MessageFormat的使用
2017-12-05 10:39 1447String.format()常规类型的格式化 Stri ... -
eclipse启动项目常见问题
2017-11-16 17:46 1184今儿遇到了个问题,ecli ... -
字符编码笔记:ASCII,Unicode和UTF-8
2017-10-23 16:37 458讲的太牛逼了: http://ww ... -
emoji简单讲解
2017-10-23 15:17 973emoji处理方式大起底 http://blog.csdn.n ... -
BigDecimal讲解
2017-10-12 15:58 445BigDecimal 由任意精度的整数非标度值 和 32 位的 ... -
eclips 控制台console上不打印信息
2017-09-06 21:53 5811、进windows菜单 -> show view -& ... -
详解RequestMappingHandlerMapping和RequestMappingHandlerAdapter
2017-08-29 17:08 2981http://donald-draper.iteye.com/ ... -
用@ExceptionHandler 来进行切面异常处理
2017-08-29 11:47 2311有时候我们想处理某个类里Controller中抛出的异常怎么搞 ... -
Spring 注解@Component、@Repository、@Service、@Controller区别
2017-08-28 15:27 1017spring 2.5 中除了提供 @Com ... -
线程的一点小总结
2017-08-23 20:36 709java中main方法启动的是一个进程还是一个线程? 答:是一 ... -
线程池
2017-08-23 17:35 522诸如Web 服务器、数据库 ... -
Class源码大概讲解
2017-08-23 16:47 512http://blog.csdn.net/a327369238 ... -
Spring 事务相关
2017-08-14 12:10 476Transactionz注解的readOnly ... -
把时间当做朋友-前言
2017-08-13 20:47 407要管理的不是时间,而是自己。人们生活在同一个世界,却又各自 ... -
单例里面的方法讲解
2017-08-11 14:55 490spring里的controller是单例的。系统针对每个co ... -
eclipse拷贝出来的项目名称还是原来的
2017-07-26 16:46 1082需要修改的有如下几个地方: 1、pom.xml里面打包的名字一 ... -
自定义hibernate方言,新增自定义函数
2017-06-27 10:47 880按位与运算(&)在许多数据库中都是支持的,遗憾的是,H ... -
http请求参数:header body paramter三种参数区别、联系
2017-06-19 10:46 489112345
相关推荐
在本篇内容中,我们将探讨如何通过LinkedList实现栈和队列,以及它们在实际编程中的应用。 首先,栈是一种后进先出(LIFO,Last In First Out)的数据结构,常用于表达式求值、函数调用、回溯算法等场景。在...
在Java编程语言中,LinkedList集合类是一个非常重要的数据结构,它可以用来实现栈和队列这两种特殊的数据结构。LinkedList是一个双链表,每个节点包含数据元素和两个引用,分别指向前后节点,这使得在列表中进行插入...
在Java中,可以使用ArrayList或者LinkedList来实现栈。当一个元素被压入栈(push)时,它成为栈顶元素;当一个元素被弹出(pop)时,总是栈顶元素被移除。栈的主要操作还包括查看栈顶元素但不移除(peek)以及检查栈...
使用`LinkedList`实现栈,主要操作有: - **压栈(Push)**:等同于在链表的头部添加元素,通过`addFirst()`方法实现。 - **弹栈(Pop)**:等同于移除链表的头部元素,通过`removeFirst()`方法实现。 ```java ...
在编程中,许多语言提供了内置的栈和队列数据结构,如Python的`collections.deque`可以作为双端队列,支持栈和队列操作,Java的`java.util.Stack`和`java.util.LinkedList`分别实现了栈和队列。此外,还可以自定义...
以下是一个使用LinkedList实现的队列示例: ```java import java.util.LinkedList; import java.util.Queue; public class QueueExample { public static void main(String[] args) { Queue<Integer> queue = ...
在C语言中,我们可以利用单链表来实现栈。栈的主要操作有压栈(push)、弹栈(pop)和查看栈顶元素(top)。这里是一个简单的栈实现: ```c #include "linkedlist.h" Stack createStack() { Stack stack = (Stack...
在Java中,可以使用`java.util.Stack`类来实现栈。这个类继承自`Vector`,提供了栈操作的方法,如`push()`, `pop()`, `peek()`等。 3.2 队列 3.2.1 队列的定义 队列是一种两端操作的数据结构,一端称为队头,用于...
在提供的示例中,展示了如何利用LinkedList实现栈和队列的功能: 1. 实现栈(Stack):栈是一种后进先出(LIFO)的数据结构,通过调用`addFirst()`方法实现入栈(push)操作,`removeFirst()`方法实现出栈(pop)...
在IT领域,数据结构是解决问题的关键工具之一,而栈和队列是两种基本的数据结构。本主题探讨如何利用栈和队列解决“走迷宫”的问题。在这个问题中,我们通常将迷宫视为一个二维网格,其中每个节点代表一个位置,路径...
在计算机科学中,堆栈和队列是两种基础的数据结构,它们在算法和程序...文件名"QueueStack"可能表示这个项目或代码示例同时包含了队列和堆栈的实现。理解这些基本数据结构及其操作对于学习和解决各种编程问题至关重要。
在Java中,Deque接口提供了实现双端队列的类,比如ArrayDeque(基于数组的双端队列)和LinkedList(基于链表的双端队列)。 循环队列是一种使用数组实现的队列结构,它解决了在普通队列中插入和删除操作需要移动...
本篇文档《Java模拟栈和队列数据结构的基本示例讲解共4页.pdf》将深入浅出地介绍如何在Java中实现栈和队列,以帮助开发者更好地理解和应用这些概念。 首先,让我们来了解栈和队列的基本特性: 1. **栈(Stack)**...
例如,可以学习如何使用ArrayList和LinkedList实现栈和队列,比较它们的性能差异;可以观察不同排序算法(如冒泡排序、快速排序、归并排序)的执行过程,理解它们的时间复杂度;还可以探索树结构(如二叉搜索树、AVL...
Java中,我们可以利用ArrayList或LinkedList实现栈和队列。"用两个栈实现队列"的问题,展示了如何通过栈的特性来模拟队列的操作。 3. **递归与回溯**:递归是解决复杂问题的一种常见方法,而回溯则是求解问题的一种...
**实现方式**:可以通过数组或者链表来实现栈。本实验报告中采用了数组实现方式。 **主要功能**: - `empty()`:判断栈是否为空。 - `peek()`:返回栈顶元素但不删除。 - `push(T value)`:向栈中添加一个元素。 - ...
- **链表实现**:使用单链表或双链表实现栈,其中链表的头部作为栈顶。 - **数组实现**:使用动态数组实现栈,数组的一端作为栈顶。 **时间复杂度**:无论是链表还是数组实现,栈的Push、Pop、Peek和IsEmpty操作的...
在Java中,我们可以使用java.util.Stack类来实现栈操作,它提供了push、pop、peek(查看栈顶元素但不移除)等方法。对于队列,我们可以使用java.util.Queue接口,其常用的实现类有LinkedList(链表实现的队列)和...
**在Java中,可以使用ArrayList或LinkedList等集合类来实现栈和队列的功能,也可以使用java.util.Stack和java.util.Queue接口及其实现类如ArrayDeque等。** 栈和队列广泛应用于各种算法和程序设计中,例如括号匹配...
在Java等编程语言中,可以使用内置的数据结构如`java.util.Stack`来方便地实现栈的操作,而队列可以使用`java.util.Queue`接口及其具体实现如`LinkedList`或`ArrayDeque`。 了解和熟练掌握栈和队列的特性及其实现...