java实现线性链表
来源:互联网 发布:专业中英文校对软件 编辑:程序博客网 时间:2024/06/07 00:04
import java.util.ArrayList;public class Xianxinglianbiao1 { //创建头节点public static void main(String[] args) {// TODO Auto-generated method stubNode hear=new Node(" 头节点 ");Lianbiao l=new Lianbiao(hear);Node num1=new Node("no.1");l.add(l.gethear(),num1);Node num2=new Node("no.2");l.add(num1,num2);Node num3=new Node("no.3");l.add(num2,num3);Node num4=new Node("no.4");l.add(num3,num4);Node num5=new Node("no.5");l.add(num4,num5);System.out.print("经过重复添加获得:");l.bianli();System.out.print("将结点内容no.6添加到no.3后面得:");Node num6=new Node("no.6"); l.add(num3, num6); l.bianli(); System.out.print("将结点内容no.7添加到位置5得:"); Node num7=new Node("no.7"); l.add(5, num7); l.bianli(); System.out.print("删除位置4结点得:"); l.del(4); l.bianli(); System.out.print("删除内容no.7的所有结点得:"); l.del("no.7"); l.bianli(); l.chazhao(3); l.chazhao("no.3");}}class Node{String data;Node next=null;Node(String data){this.data=data;}public String getdata(){return data;}public Node getnext(){return next;}public void setnext(Node next){this.next=next;}}class Lianbiao{Node hear=null;Lianbiao(Node hear){this.hear=hear;}public Node gethear(){return hear;}//链表结点的添加public void add(Node prenode,Node node){node.setnext(prenode.getnext());prenode.setnext(node);}//结点的添加2.0public void add(int i,Node node){Node n=hear;while(i>0){if(i==1){node.setnext(n.getnext());n.setnext(node);}n=n.getnext();i--;}}//结点的删除(指定位置删除)public void del(int i){Node n=hear;while(i>0){if(i==1){n.setnext(n.getnext().getnext());}n=n.getnext();i--;}}//结点的删除2.0(指定内容删除)public void del(String str){Node n=hear;Node m=n;while(n!=null){if(n.getdata()==str){m.setnext(m.getnext().getnext());}m=n;n=n.getnext();}}//结点内容查找(根据位置查找内容)public void chazhao(int i){Node n=hear;System.out.print("位置"+i+"结点内容为:");while(i>0){if(i==1){System.out.println(n.getnext().getdata());}n=n.getnext();i--;}}//结点内容查找(根据内容查找位置)public void chazhao(String str){Node n=hear;int i=0,j=0;while(n!=null){if(n.getdata()==str){System.out.print("内容"+str+"结点位置为:"+i+" ");j=1;}i++;n=n.getnext();}if(j==0){System.out.println("没有找到内容"+str+"的结点");}else{System.out.println();}}//遍历输出链表public void bianli(){Node n=hear;while(n!=null){System.out.print(n.getdata()+" ");n=n.getnext();} System.out.println();}}
*原创作品,转载请表明出处。有建议或者问题欢迎联系我,QQ1595787997
阅读全文
1 0
- 线性链表 java实现
- java实现线性链表
- Java实现线性表
- java线性表实现
- java 实现线性表
- Java实现线性表
- 线性表java实现
- java实现线性表
- java 链表实现线性表
- JAVA 实现线性表之链表
- java 用链表实现线性表
- java 数组实现线性表
- java实现有序线性表
- 【code】java线性表实现
- 数据结构 线性表JAVA实现
- 数据结构-Java实现线性表
- 【code】java线性表实现
- 线性表的Java实现
- 深入理解Java对象的创建过程:类的初始化与实例化
- WKWebView9.0以下使用加载不出html
- 哈佛图书馆墙上的训言
- Linux下Make编译结果输出到文件
- android xml解析之XmlPullParser
- java实现线性链表
- 序列化代理模式
- Andorid view 绘制原理
- Linux下如何编译并运行C程序
- js中const,var,let区别
- JS那些事儿(3)-函数
- JAVA高级工程师课程笔记整理——(四)高级特性
- float和double
- SDWebImage 加载图片不显示问题 --- 难以想象的BUG