- 浏览: 1505217 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
容器(集合)框架如下:
集合类存放于java.util包中。集合类存放的都是对象的引用,而非对象本身。
集合类型主要有3种:set(集)、list(列表)和map(映射)。
Collection接口
├List 接口
│├LinkedList 链表
│├ArrayList 顺序结构动态数组类
│└Vector 向量
│ └Stack 栈
Map接口
├Hashtable
├HashMap
└Set接口
Collection<--Set<--HashSet
Collection<--Set<--HashSet<--LinkedHashSet
Collection<--Set<--SortedSet(也是接口)<--TreeSet
LinkedList, 查阅JDK
List接口的链表列表实现。实现所有可选的列表操作,并且允许所有元素(包null)
LinkedList类还为在列表的开头及结尾get,remove和insert元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈,队列或双端队列
注意此实现不是同步的
JDK本身提供的Stack类
提供了通常的push和pop操作,以及取堆栈顶点的peek方法,测试堆栈是否为空的empty方法,在堆栈中查找项并确定离栈顶的距离,共五个方法。
JDK中实现这个类本身继承自Vector这个类(since JDK1.0)
数据结构中 栈的定义及基本运算
栈和队列都属于线性结构,是两种在运算上受到某些限制的特殊线性表,他们比一般线性表更简单。
栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,称为栈顶(top),另一端为固定的一端,称为栈底
栈顶,栈底,空栈,栈的特性,
退栈,进栈
栈的运算:
初始化栈,进栈push,出栈pop,,取栈顶元素(即是查看下一个要出栈的元素,也叫peek),判断空
用LinkedList实现stack
其实主要是实现 进栈push,出栈pop,,取栈顶元素这几个方法
package org.simoncook.examtest;
import java.util.LinkedList;
public class MyStack {
private LinkedList ll = new LinkedList();
public void push(Object obj){
//将指定元素插入此列表的开头。
ll.addFirst(obj);
}
public Object pop(){
//移除并返回此列表的第一个元素.
return ll.removeFirst();
}
public Object peek(){
// 返回此列表的第一个元素。
return ll.getFirst();
}
public boolean empty(){
return ll.isEmpty();
}
}
数据结构队列
参考
http://blogger.org.cn/blog/more.asp?name=eaglebetter&id=17232
队列(Queue)的定义
队列的特性队列的实例队 列的基本运算
(1) 入队操作:InQueue(q,x)
(2)出队操作:OutQueue(q,x)
(3)读队头元 素:ReadFront(q,x)
(4)显示队列中元素ShowQueue(q)
(5)判队空操作:QEmpty(q)
(6)判 队满操作:QFull(q)
(7)求队列长度Qlen(q)
实现代码:
package com.gc.list;
import java.util.*;
public class MyQueue {
private LinkedList ll=new LinkedList();
//入队操作
public void put(Object o){
ll.addLast(o);
}
//使用removeFirst()方法,返回队列中第一个数据,然后将它从队列 中删除
//出队操作
public Object get(){
return ll.removeFirst();
}
public boolean empty(){
return ll.isEmpty();
}
发表评论
-
ISO-8859_1统一编码 java
2011-08-19 11:07 2036Java中文问题一直困扰着很多初学者,如果了解了Java系统的 ... -
UTF-8 GBK UTF8 GB2312
2011-08-19 10:46 1934UTF-8:Unicode TransformationFor ... -
Properties 类读取配置文件
2011-08-17 22:37 14651、使用java.util.Properties类的load( ... -
Java编程之四大名著
2011-08-06 10:07 1466中文第四版 http://download.csdn.n ... -
JDK5.0 新特性
2011-07-28 20:02 13911.AutoBoxing 原来int是非 ... -
JDK6的新特性
2011-07-28 19:57 1788JDK6的新特性 JDK6的新特性之一_Desktop类和Sy ... -
线程同步
2011-07-25 11:34 1281作者 : buaawhl http://www.iteye.c ... -
ZipInputStream类
2011-07-22 11:33 18777《Java开发实战经典》第12章Java IO,Java ... -
String、StringBuffer和StringBuilder的区别
2011-07-14 15:04 1373String是不可变的,StringBuffer是可变的;St ... -
精通JAVA核心技术
2011-07-11 11:31 1290http://www.2cto.com/ebook/20100 ... -
Java多线程sleep(),join(),interrupt(),wait(),notify()
2011-07-06 22:51 4918浅析 Java Thread.join() 一、在研究j ... -
FileInputStream/FileOutputStream的应用
2011-07-06 15:06 1416这是一对继承于InputStream和OutputStream ... -
Java基础之理解JNI原理
2011-07-05 14:55 1318JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA ... -
面向对象和面向过程的区别
2011-07-04 09:52 1413面向过程就是分析出解 ... -
Java参数传值还是传引用
2011-07-03 20:52 3642参数是按值而不是按 ... -
JAVA排序汇总
2011-06-29 18:07 1509package com.softeem.jbs.lesson4 ... -
Java流操作,InputStream、OutputStream及子类FileInputStream、FileOutputStream;BufferedInpu
2011-06-27 18:09 19258Java将数据于目的地及来 ... -
线程综合文章
2011-06-27 10:48 1121http://lavasoft.blog.51cto.com/ ... -
由Java中的Set,List,Map引出的排序技巧
2011-06-24 14:18 2387一。关于概念: ... -
Date、String、Timestamp之间的转换
2011-03-20 16:59 2423public static Timestamp pars ...
相关推荐
在C++或Java等编程语言中,我们可以使用数组或链表来实现栈。源码可能包含实现基本栈操作的函数,如push(入栈)、pop(出栈)和peek(查看栈顶元素)。 队列(Queue)则是先进先出(FIFO,First In First Out)的...
例如,可能会有C++、Java、Python或其他语言的实现,每种语言都有其特定的语法和数据结构处理方式。 为了更好地学习和应用这些源代码,你可以: - 分析每个文件的代码结构,了解它们是如何创建、初始化、添加元素...
1. 设计和实现栈和队列的类结构,包括构造函数、压入、弹出、入队、出队等方法。 2. 使用栈来实现简单的逆序输出字符串、括号匹配检查等问题。 3. 使用队列来实现简单的打印队列、银行服务模拟等场景。 4. 探讨栈和...
在给定的压缩包文件中,"第3章 栈和队列"可能包含了关于这两种数据结构的更深入的理论介绍、实例分析以及具体的编程实现,包括但不限于C++、Java、Python等语言。通过学习这些内容,你可以更好地理解和掌握栈和队列...
栈和队列是两种基础且广泛使用的数据结构,它们在编程和算法设计中扮演着重要角色。本篇将深入探讨这两种数据结构的基本原理、实现方式以及常见的应用场景。 栈(Stack)是一种后进先出(LIFO, Last In First Out)...
在Java编程语言中,栈(Stack)和队列(Queue)是两种基本的数据结构,它们在处理数据存储和操作方面有着广泛的应用。本教程将通过一些小例子来深入理解这两种数据结构及其在Java中的实现。 栈是一种后进先出(LIFO...
在Java中,可以使用java.util.Stack类来实现栈,但此资源提供的代码可能自定义实现了栈结构,通过动态数组实现压栈和弹栈操作,提高了灵活性和效率。 2. **动态数组(Dynamic Array)**:动态数组是一种可变大小的...
在这个主题中,我们将深入探讨Java实现的三种基本数据结构:堆栈(Stack)、队列(Queue)和列表(List)。这些概念是计算机科学的核心部分,对理解和解决复杂问题至关重要。 1. **堆栈(Stack)**: - 堆栈是一种...
1. **熟练掌握栈和队列的基本操作**:在数组和链表两种存储结构上实现栈和队列的基本操作。 2. **应用栈和队列解决实际问题**:通过具体的编程练习,学习如何利用栈和队列来解决简单的实际问题。 #### 实验内容 本...
本篇文档《Java模拟栈和队列数据结构的基本示例讲解共4页.pdf》将深入浅出地介绍如何在Java中实现栈和队列,以帮助开发者更好地理解和应用这些概念。 首先,让我们来了解栈和队列的基本特性: 1. **栈(Stack)**...
### 数据结构概述与Java实现 #### 一、表(List) **表**是一种常见的线性数据结构,它允许用户在任意...这些数据结构在算法设计和软件开发中扮演着极其重要的角色,掌握它们的概念和实现细节对于编程实践至关重要。
在这个"数据结构之栈、队列全部代码"的压缩包中,我们将会深入探讨两种基本且重要的线性数据结构——栈和队列,以及它们在编程中的实际应用。 首先,栈(Stack)是一种后进先出(LIFO,Last In First Out)的数据...
本压缩包包含对三种基本数据结构——栈、链表和队列的实现代码,这些都是编程基础中的基础。 首先,我们来详细了解栈(Stack)。栈是一种“后进先出”(LIFO)的数据结构,它的操作主要集中在一端,被称为栈顶。...
队列是一种先进先出(FIFO)的数据结构,`Queue.java`和`QueueApp.java`可能实现了这一概念。在Java中,可以使用`java.util.Queue`接口及其实现如`LinkedList`来创建队列。队列的主要操作包括添加元素(enqueue)、...
本实验主题为“实验4栈和队列”,由creaturexqi提供,旨在深入理解和实践两种基本的数据结构——栈和队列。我们将分别探讨这两种数据结构的概念、特点、操作以及在实际中的应用。 首先,让我们来看看栈(Stack)。...
总结,对于Java初学者来说,理解栈和队列的概念、操作和实现方式是学习数据结构的基础。通过熟练掌握这些知识,可以为后续更复杂的数据结构和算法学习打下坚实的基础。在实际编程中,栈常用于函数调用、表达式求值等...
栈和队列是两种最基本且重要的数据结构,广泛应用于各种算法和系统设计中。 首先,栈(Stack)是一种后进先出(LIFO, Last In First Out)的数据结构。它的工作原理类似于日常生活中使用的堆叠物品,最后放入的物品...
总结,基于Java实现的队列和堆栈是编程中常用的数据结构,理解其工作原理和正确使用能显著提升代码的效率和质量。在实际项目中,开发者需要根据具体应用场景选择合适的数据结构,以实现最佳的解决方案。
LinkedList不仅可以作为列表使用,还可以被巧妙地利用来构建栈(Stack)和队列(Queue)这两种基本数据结构。在本篇内容中,我们将探讨如何通过LinkedList实现栈和队列,以及它们在实际编程中的应用。 首先,栈是一...
本题解聚焦于LeetCode中的第232题——"用栈实现队列",这是一个常见的数据结构问题,尤其在面试中常常被问到,因为它考察了对栈(Stack)和队列(Queue)基本概念的理解以及如何创造性地运用它们。 首先,我们来...