版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
//在不确定数据域数值的情况下,采用泛型定义publicclassNode<E>{Edata;//数据域Node<E>next;//指针域}datanext单个节点的表示方法//在不确定数据域数值的情况下,采用泛型定义publicclassLinkList<E>{ Node<E>head;Node<E>p;}datanext单个节点的表示方法datanextdatanextheadnull建立链表datanextheadNULLnewnode//说明head头指针newnode新节点指针newnode.data数据域表示方式newnode.next指针域表示方式NULLnewnode无后继节点headNULLPNULL初始状态,无节点
head=NULL;P=NULL;publicLinkList(){head=null;p=null;}初始化datanextheadNULLpnewode建立链表publicvoidaddhead(Node<E>e){Node<E>newhead=newNode<E>();newhead.data=e.data;newhead.next=e.next;head=newhead;p=head;p.next=null;}遍历输出publicvoidprintlist(){ p=head; if(head==null) {System.out.println("这是一个空链表"); }while(p!=null)
{System.out.println(p.data); p=p.next; }}在链表后面插入节点datanextheadNULLnewnodedatanextp注意:添加节点后,链表的长度+1publicvoidaddlist(Node<E>e){Node<E>newnode=newNode<E>();newnode.data=e.data;newnode.next=e.next;p.next=newnode;p=p.next;p.next=null;}publicstaticvoidmain(String[]args){ScannerAA=newScanner(System.in);LinkList<Integer>obj1=newLinkList<Integer>();Node<Integer>tt=newNode<Integer>();System.out.print("请输入第1数:");tt.data=AA.nextInt();obj1.addhead(tt);Node<Integer>tb=newNode<Integer>();intk;inti=2;do{System.out.print("请输入第"+i+"数:");k=AA.nextInt();if(k==0)break;tb.data=k;obj1.addlist(tb);i++;}while(true);此段代码:表示连续建立多个节点,知道输入的数字为0,就不再建立新的节点obj1.printlist();System.out.print("请输入第插入节点的值");tb.data=AA.nextInt();obj1.addnode(tb,2);obj1.printlist();System.out.print("请输入首节点插入的值");tb.data=AA.nextInt();obj1.addH(tb);obj1.printlist();}单链表的插入(1)只定节点后插入新的节点图示
s.next=p.next;p.next=s;(2)前插结点
(2)只定节点前插入新的节点图示
s.next=p;q.next=s;单链表的删除
q.next=p.next;p.next=null;单链表的按值查找操作 }
单链表操作的效率分析
(1)单链表是一种顺序存取结构,不是随机存取结构。要访问任意一个结点ai(1≤i≤n),必须从头指针head开始,沿着“链”的方向逐个查找,执行i-1次p=p.getNext()操作,平均进行n/2次。(2)单链表的插入和删除操作,必须知道其直接前驱结点。(3)与顺序表相比,单链表中结点的存储空间是动态申请和释放的,不需要预先分配。同时,对单链表执行插入和删除操作时,只需要改变相关结点的“链”,不需要移动结点。因此,单链表在一定程度上可以提高运行效率和存储空间的利用率。循环链表
head是单链表的头指针,设rear是单链表的尾指针。将单链表中最后一个结点的指针域指回链表的头结点,即rear.next=head,则整个单链表头尾相连形成了一个环,就构成了循环单链表。
双向链表
在单链表中,从任意一个结点出发都能通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州财经大学《创业团队管理》2023-2024学年第一学期期末试卷
- 2025年甘肃省建筑安全员C证考试题库
- 2025年河南省安全员《C证》考试题库
- 贵阳学院《山水写生》2023-2024学年第一学期期末试卷
- 广州应用科技学院《游戏制作与开发》2023-2024学年第一学期期末试卷
- 广州铁路职业技术学院《建筑力学(上)》2023-2024学年第一学期期末试卷
- 2025四川省安全员-C证考试(专职安全员)题库附答案
- 2025云南省建筑安全员《C证》考试题库及答案
- 6.4.2向量在物理中的应用举例【超级课堂】2022-2023学年高一数学教材配套教学精-品课件+分层练习人教A版2019必修第二册
- 材料力学课件-动载荷
- 部编版道德与法治九年级上册每课教学反思
- 2024云南保山电力股份限公司招聘(100人)(高频重点提升专题训练)共500题附带答案详解
- 人教版(2024)七年级上册英语 Unit 1 You and Me 语法知识点复习提纲与学情评估测试卷汇编(含答案)
- 六年级期末家长会课件下载
- DZ∕T 0388-2021 矿区地下水监测规范
- 计算机网络信息安全理论与实践教程
- 煤炭托盘合作协议书
- 2024年重庆市学业水平模拟考试地理试卷(二)
- 西师大版2023-2024学年五年级数学上册期末测试卷含答案
- 大班春季班级工作计划下学期
- 2024年浙江省宁波宁海县事业单位公开招聘85人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
评论
0/150
提交评论