- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux操作系统课程论文.doc
《Linux操作系统》课程论文
论文题目 Linux下用java实现双链表 学生姓名(学号) 柳志东
200811621212 所在学院 信息学院 所在班级 计科1082 指导教师 彭伟民 提交时间 2011年 11 月 10日 成绩
目 录
目录
1 程序名称 3
2 程序的算法思想 3
3 源代码分析 3
3.1 链表的接口 3
3.2 链表的接口的实现 4
3.3 节点类 6
4 运行结果与总结 6
参考文献 7
程序名称
在linux下用java实现双链表的算法,双(向)链表中有两条方向不同的链,即每个结点中除next域存放后继点地址外,还增加一个指向其直接前趋的指针域priorpackage com.doubleLink.alg.dao;
import com.doubleLink.alg.node.Node;
public interface DoubleLink {
public int addFirst(Node node);
public int addLast(Node node);
public boolean isEmpty();
public int delete(Node node);
public void print();
public void insertBefore(Node target,Node node);
public int search(Node node);
}
链表的接口的实现
在接口实现中,定义了头节点head,尾节点tail和当前链表的大小size,
1.初始化链表:
public DoubleLinkImp(){
head=new Node(0);
tail=new Node(0);
head.setNext(tail);
tail.setPre(head);
size=0;
}
2.把新节点插入到head之后的位置
public int addFirst(Node node) {
try {
node.setNext(head.getNext());
node.setPre(head);
head.getNext().setPre(node);
head.setNext(node);
size++;
return 1;
} catch (Exception e) {
return 0;
}
}
3.打印链表节点
public void print() {
Node temp=head.getNext();
while(temp!=nulltemp.getNext()!=null){
System.out.print(temp.getData()+--);
temp=temp.getNext();
}
}
4.查找节点
public int search(Node node) {
if(isEmpty())
return 0;
Node temp=head.getNext();
while(temp!=nulltemp.getNext()!=null){
if(temp.getData()==node.getData()){
return 1;
}
temp=temp.getNext();
}
return 0;
}
节点类
在节点类中定义了next pre data基本的属性和它们的get,set方法,用以操作数据变量。
运行结果与总结
新建一个test类,用以测试链表的正确性,设计如下执行程序
/**
* @param args
* @author lzd
*
*/
public static void main(String[] args) {
DoubleLinkImp db=new DoubleLinkImp();//初始化链表
Node first=new Node(1);//初始化节点
Node last=new Node(2);
Node third=new Node(3);
Node forth=new Node(4);
Node insert=new Node(5);
db.addFirst(first);//添加节点
db.addLast(last);
db.addLast(third);
db.addLast(forth);
db.print();//打印当前链表
System.out.println();
db.delete(fir
您可能关注的文档
最近下载
- 矿区1∶1万地质填图工作细则.pdf VIP
- 新能源场站宽频振荡就地监测控制方法及装置.pdf VIP
- 航空公司飞机失事应急预案演练脚本.docx VIP
- DLT 5210.1-2021 电力建设施工质量验收规程全套表格最新201至400页.docx VIP
- 巨量引擎2024卫浴行业白皮书.pptx
- 湖南郴电国际发展股份有限公司校园招聘模拟试题附带答案详解汇编.docx VIP
- 斯巴拓SBT904D2手持操作说明书(二通道232 485变送器).doc VIP
- 中国成人患者围手术期液体治疗临床实践指南(2025版)解读.pptx
- 15 铁路营业线工程施工安全专项处置预案.doc VIP
- 《小学二年级家长会》课件(五套).pptx
文档评论(0)