java实现单链表

来源:互联网 发布:油性皮肤护肤品知乎 编辑:程序博客网 时间:2024/06/05 23:02

java实现单链表:单链表的自定义添加删除操作

class Node{int data;Node next=null;//指向下一个节点public Node(int data) {this.data = data;}}public class LinkTable {/** * @链表的实现 */Node head=null;//头节点public LinkTable() {}public LinkTable(Node head) {this.head = head;}//向链表中插入数据public void addNode(int d){Node newNode= new Node(d);if(head==null){head=newNode;return;}Node tmp=head;while(tmp.next!=null){tmp=tmp.next;}tmp.next=newNode;}//返回链表的长度public int length(){int len=0;Node tmp=head;while(tmp!=null){len++;tmp=tmp.next;}return len;}//删除链表中指定(第i个)位置的节点,从1开始计数public boolean deleteNode(int m){if(head==null || m<=0 || m>length()){return false; }if (m == 1) {            head = head.next;            return true;        }Node tmp=head;Node p=null;int i=1;while(i<m-1){tmp=tmp.next;i++;}if(i==m-1){p=tmp.next.next;tmp.next=p;return true;}return false;}//输出自定义链表中的数据public void printLinkList(){Node tmp=head;while(tmp!=null){System.out.print(tmp.data+" ");tmp=tmp.next;}System.out.println("");}public static void main(String[] args) {// TODO Auto-generated method stubLinkTable lt=new LinkTable();lt.addNode(1);lt.addNode(2);lt.addNode(3);lt.printLinkList();System.out.println("---------------------------");System.out.println(lt.length());System.out.println(lt.deleteNode(1));System.out.println("---------------------------");lt.printLinkList();}}


原创粉丝点击