版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
//在不确定数据域数值的情况下,采用泛型定义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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022届荆州市重点中学中考数学全真模拟试题含解析
- 四川省成都市川师大附中2021-2022学年中考数学全真模拟试卷含解析
- 2022届广东省吴川一中学中考适应性考试数学试题含解析
- 2023-2024学年辽宁省大连中山区四校联考中考物理猜题卷含解析
- 2023-2024学年湖南长沙市雅礼洋湖实验中学中考联考物理试题含解析
- 2022年江苏省盐城市东台中考数学押题卷含解析
- 2024-2034年版酒店用品行业兼并重组机会研究及决策咨询报告
- 2024-2034年中国防雾霾口罩行业市场分析预测及投资前景评估报告
- 2024-2034年中国速溶奶粉市场深度调查研究报告
- 2024-2034年中国美容镜行业市场研究及发展前景预测报告
- 养鸡场智能控制系统设计
- 人教版英语八年级下册《Unit 9 Section A 1a-2d》PPT课件
- 商业综合体项目建设成本及经营测算(自动计算)
- 医院对新医改的意见和建议
- 方坯连铸机拉矫机的设计计算
- 管道油漆修补方案
- 消防管道支架计算(数据 公式)
- 小学校本教材《扬雷锋精神做文明礼仪标兵》
- 宁波小学科学六年级上册期末复习知识点汇总(网上整理)
- 贵州国际大酒店可行性研究报告
- 离心机事故案例汇总
评论
0/150
提交评论