import static java.lang.System.out; /** * @Author * @Date */ public class LinkList { public Node head = new Node(); public Node current; public void addNode(int data){ if(null == (new Node(data))){ System.out.println("分配内存失败!"); }else{ if(null == head.next){ head.data = Integer.MAX_VALUE; head.next = new Node(data); current = head.next; }else{ current.next = new Node(data); current = current.next; } } } public void insertNode(Node head,int findKey,int insertData){ if(null == head){ System.out.println("链表为空,可加入节点!"); }else{ Node node = head; Node newNode = new Node(insertData); while(null != node.next){ if(findKey == node.next.data){ newNode.next = node.next.next; node.next.next = newNode; break; } node = node.next; } } } public void updateNode(Node head,int findKey,int insertData){ if(null == head){ System.out.println("链表为空,可加入节点!"); }else{ Node node = head; while(null != node.next){ if(findKey == node.next.data){ node.next.data = insertData; break; } node = node.next; } } } public void deleteNode(Node head,int data){ if(null == head){ System.out.println("链表中没有能删除的节点!"); }else{ Node node = new Node(); node.next = head; node.data = Integer.MAX_VALUE; while(null != node.next){ if(data == node.next.data){ node.next = node.next.next; break; } node = node.next; } } } public int linkLength(Node head){ int length = 0; if(null == head){ return length; }else { do{ length++; head = head.next; } while (head.next != null); return length; } } public void printOut(Node head){ Node node = head.next; if(null == node){ System.out.println("链表中没有节点,请添加!"); }else{ System.out.println(); while(node != null){ System.out.print(node.data+" "); node = node.next; } } } } class Node { public int data; public Node next; public Node() {} public Node(int data) { this.data = data; } }
算法之数据结构_链表
最新推荐文章于 2022-12-07 18:33:23 发布