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
相关文档:
自从学习Java以来已经一年有余了,对Java还只是初阶段的了解,都怪在学校的时候贪玩没有有效的利用时间,现在在一个培训学校学习Java,现在就要做项目了还是什么都不懂,还好有Csdn。
在Csdn的日子里叫我找到了家的感觉,得到了很 ......
二分查找法和线性查找法
二分查找法是一种比普通线性查找快得多的查找算法,但只适用于有序集合当中。拿升序排序后的整型数组来说,二分法具体的实现原理是:先把待查找数a与数组中间的那个数x对比,如果相等,直接返回x的索引;如果a大于x,则排除掉数组的前面一半(包括x),接着拿a与剩下一半数组中间的那个数x对比,如 ......
maven 相信很多人都用到听过,用的人应该不是很多,至少我们公司1000人级别的IT部门都没用。
复杂程度决定工具的使用情况,刚入门的程序员如果没有一种良好的学习心态看了肯定会对ant有点抱怨(使得你不能很快在ec上看到结果)。况且不说maven做的好不好,起码能给大型项目的管理提供一种新的思路。自动化能减少很多时间和交 ......
1 package 和 import的作用是分割全局命名空间,保证我们不会遇到名字的冲突。
2 java解释器的工作程序:
(1) 首先它找到环境变量CLASSPATH , CLASSPATH包含一个或多个目录,它们作为一个特殊的根使用,从这里展开对.class文件的搜索,
从那个根开始,解释器会寻找包名,并将它们每一个点号 ......
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
Author:kj021320
转载请注名出处。
Java应用程序环境的安全策略,详细说明了对于不同的代码所拥有的不同资源的许可,它由一个Policy对象来表达。
为了让applet(或者运行在SecurityManager下的一个应用程序)能够执行受保护的行为,例如读写文件,applet(或Jav ......