易截截图软件、单文件、免安装、纯绿色、仅160KB

Java基于双向链表实现列表结构(算法源码)

/* 高手之作,本人谨以收藏者身份共享源码,供大家参考之! */
/*
 * 列表ADT接口
 */
package dsa;
public interface List {
//查询列表当前的规模
 public int getSize();
//判断列表是否为空
 public boolean isEmpty();
//返回第一个元素(的位置)
 public Position first();
//返回最后一个元素(的位置)
 public Position last();
//返回紧接给定位置之后的元素(的位置)
 public Position getNext(Position p)
 throws ExceptionPositionInvalid, ExceptionBoundaryViolation;
//返回紧靠给定位置之前的元素(的位置)
 public Position getPrev(Position p)
 throws ExceptionPositionInvalid, ExceptionBoundaryViolation;
//将e作为第一个元素插入列表
 public Position insertFirst(Object e);
//将e作为最后一个元素插入列表
 public Position insertLast(Object e);
//将e插入至紧接给定位置之后的位置
 public Position insertAfter(Position p, Object e)
 throws ExceptionPositionInvalid;
//将e插入至紧靠给定位置之前的位置
 public Position insertBefore(Position p, Object e)
 throws ExceptionPositionInvalid;
//删除给定位置处的元素,并返回之
 public Object remove(Position p)
 throws ExceptionPositionInvalid;
//删除首元素,并返回之
 public Object removeFirst();
//删除末元素,并返回之
 public Object removeLast();
//将处于给定位置的元素替换为新元素,并返回被替换的元素
 public Object replace(Position p, Object e)
 throws ExceptionPositionInvalid;
//位置迭代器
 public Iterator positions();
//元素迭代器
 public Iterator elements();
}
/*
 * 基于双向链表实现列表结构
 */
package dsa;
public class List_DLNode implements List {
 protected int numElem;//列表的实际规模
 protected DLNode header, trailer;//哨兵:首节点+末节点
//构造函数
 public List_DLNode() {
  numElem = 0;//空表
  header = new DLNode(null, null, null);//头节点
  trailer = new DLNode(null, header, null);//尾节点
  header.setNext(trai


相关文档:

Effective Java 学习笔记 (6)

及时消除不使用的对象的引用, 理论上, 带有内存管理的语言是不存在内存泄漏的, 但是如果对对象的操作不当,也是可能会造成内存泄漏. 如有一个stack, 其pop函数如下. public Object pop() {                if( Element.length() == 0) return nu ......

java类型注入

public class Bean1 {
private String strValue;

private int intValue;

private List listValue;

private Set setValue;

private String[] arrayValue;

private Map mapValue;

public String getStrValue() {
return strValue;
}
public void setStrValue(String strValue) {
t ......

JAVA 数据结构与算法学习笔记一(转载)

二分查找法和线性查找法
二分查找法是一种比普通线性查找快得多的查找算法,但只适用于有序集合当中。拿升序排序后的整型数组来说,二分法具体的实现原理是:先把待查找数a与数组中间的那个数x对比,如果相等,直接返回x的索引;如果a大于x,则排除掉数组的前面一半(包括x),接着拿a与剩下一半数组中间的那个数x对比,如 ......

maven java 开发 必要的工具

maven 相信很多人都用到听过,用的人应该不是很多,至少我们公司1000人级别的IT部门都没用。
复杂程度决定工具的使用情况,刚入门的程序员如果没有一种良好的学习心态看了肯定会对ant有点抱怨(使得你不能很快在ec上看到结果)。况且不说maven做的好不好,起码能给大型项目的管理提供一种新的思路。自动化能减少很多时间和交 ......

java求学历程

从JavaSE 到JavaEE
再从corejava1,corejava11,Java Language Specification, Second(Third) Edition, Think in java,Data Structure java depth Adventrue)
转到JavaEE(EJB,Spring,Hibernate,Webwork,struts1,strut2,jsp,servlet)
从开源组织再到自组织,再到corejava1,corejava11
到JavaWebServer,java Web Prog ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号