版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
//在不确定数据域数值的情况下,采用泛型定义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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六年级民族常识教案
- 2025年复旦大学类脑智能科学与技术研究院招聘产业化科研助理岗位备考题库及参考答案详解1套
- 2025年宁夏中科碳基材料产业技术研究院招聘备考题库有答案详解
- 中国人民银行清算总中心所属企业城银清算服务有限责任公司2026年校园招聘16人备考题库有答案详解
- 2025年安龙县能源局公开选聘法律顾问备考题库及完整答案详解一套
- 2025年浙江树人学院树兰国际医学院招聘备考题库及完整答案详解一套
- 2025年北京市第二中学朝阳学校招聘31人备考题库及参考答案详解1套
- 中国电建集团贵州工程有限公司2026届秋季招聘150人备考题库及一套答案详解
- 2025年飞驶特公司招聘:外派至招商局检测车辆技术研究院有限公司备考题库及答案详解参考
- 2025年安龙县能源局公开选聘法律顾问备考题库带答案详解
- 石材行业合同范本
- 中医药转化研究中的专利布局策略
- COPD巨噬细胞精准调控策略
- 2026年哈尔滨铁道职业技术学院单招职业技能考试题库必考题
- 网店代发合作合同范本
- 心源性休克的液体复苏挑战与个体化方案
- 祖孙转让房产协议书
- 2025秋期版国开电大专科《可编程控制器应用》一平台机考总题库珍藏版
- 2025-2026学年道法统编版小学六年级全册必背知识点归纳
- 九师联盟2026届高三上学期12月联考英语(第4次质量检测)(含答案)
- 2025年阿里辅警协警招聘考试备考题库附答案详解(典型题)
评论
0/150
提交评论