星空网 > 软件开发 > Java

Java程序设计之链表结构

  唉,说点废话,昨天偶尔看到一年前自己用C解约瑟夫环问题的循环链表,唏嘘不已,想想自己一年前嵌入式的梦呢,这两天发生了许多,而有些人不在了就真的不在了,心情不好,不多说了,直接上代码,只是些链表的基本操作,花些功夫看就好了。

  首先,建立一个Node类,里面内构一个Node对象和数据(用来区分);

public class Node {  protected Node next; //指针  protected int data; //数据      public Node(int data){    this.data = data;  }    //显示节点  public void display(){    System.out.println(data+" ");  }}

  然后创建一个LinkList类,里面包含了链表的一些基本方法,

public class LinkList {  public Node first; //定义一个头结点    public LinkList(){    this.first = null;  }    //插入一个头结点  public void addFirstNode(int data){    Node node = new Node(data);    node.next = first;    first = node;  }    //删除一个头节点,并返回头结点  public Node deleteFirstNode(){    Node tempNode = first;    first = tempNode.next;    return first;  }    //在替换掉index后面的节点。  public void add(int index , int data){    Node node = first;    Node current = first;    while(index-->0){      current = node.next;      node = current;    }    current.data = data;  }    //在第index节点后面插入节点  public void Insert(int index , int data){    Node node = new Node(data);    Node current = first;    Node privious = first;    while(index-->0){      privious = current;      current = current.next;    }    node.next = current;    privious.next = node;  }    //删除任意位置的节点  public void delete(int index){    Node current = first;    Node privious = first;    while(index-->0){      privious = current;      current = current.next;    }    if(current == first){      first = first.next;    }else{      privious.next = current.next;    }  }    //根据data的值删除节点,删除找到的第一个节点  public void deleteData (int data){    Node privious = first;    Node current = first;    while(current.data!=data){      privious = current;      current = current.next;    }    if(current == first){      first = first.next;    }else{      privious.next = current.next;    }  }}

  再建立一个主类,

public class TestLink {  public static void main(String[] args){    LinkList l = new LinkList();    l.addFirstNode(1);    l.addFirstNode(2);    l.addFirstNode(3);    Node node = l.first;    l.Insert(2, 5);    l.deleteData(5);    while(node!=null){      node.display();      node = node.next;    }  }}

  实在是没有心情继续写了,希望以后会好点,2015年8月9日18:55分。




原标题:Java程序设计之链表结构

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

加拿大商标注册有效期最长可达多少年?:https://www.kjdsnews.com/a/1380802.html
加拿大商标注册最全面的代办指南:https://www.kjdsnews.com/a/1380803.html
加拿大商标注册官方费用攻略:https://www.kjdsnews.com/a/1380804.html
加拿大商标注册个人所需费用有多少?:https://www.kjdsnews.com/a/1380805.html
加拿大商标查询网站汇总及使用指南:https://www.kjdsnews.com/a/1380806.html
加拿大商标查询网站推荐指南:https://www.kjdsnews.com/a/1380807.html
Temu引发家庭矛盾?年轻一代为何对低价商品集体摇头:https://www.xlkjsw.com/news/94308.html
如何通过 9 个步骤建立商业信用:https://www.kjdsnews.com/a/1842262.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流