java 数据结构单链表的实现
程序员文章站
2023-12-02 22:58:58
java 数据结构单链表的实现
单链表实现链表的打印及元素删除操作,链表的实现主要是next属性的定义,将一堆节点关联起来的。实现简单的链表如下...
java 数据结构单链表的实现
单链表实现链表的打印及元素删除操作,链表的实现主要是next属性的定义,将一堆节点关联起来的。实现简单的链表如下:
public class linknode { private int value; private linknode next; public linknode(int x) { value = x; } public linknode getnext(){ return next; } public void setnext(linknode next) { this.next = next; } public int getvalue() { return value; } }
链表操作工具类如下:
public class linknodeutil { public linknode deletenode(linknode list,linknode node) { //空链表 if(node==null||list==null||list.getnext()==null){ return list; } //查找node节点 linknode curnode = list; linknode prenode = null; linknode next = list.getnext(); while(curnode!=null){ if(curnode.getvalue()==node.getvalue()){//找到 system.out.println("找到待删除对象了。"+node.getvalue()); break; } prenode = curnode; curnode = next; next = next.getnext(); } //删除node节点 if(prenode==null){ //第一个元素删除操作直接修正list为next:curnode-next return next; }else{ //删除中间节点中间:prenode-curnode-next prenode.setnext(next); return list; } } public void printlistnode(linknode list){ linknode node = list; while(node!=null){ system.out.println(node.getvalue()); node = node.getnext(); } } public static void main(string[] args) { linknode n1 = new linknode(1); linknode n2 = new linknode(2); linknode n3 = new linknode(3); linknode n4 = new linknode(4); n1.setnext(n2); n2.setnext(n3); n3.setnext(n4); n4.setnext(null); linknodeutil s = new linknodeutil(); s.printlistnode(n1); s.printlistnode(s.deletenode(n1, n3)); } }
注意链表删除节点如果是第一个节点的话,直接将链表对象赋值给next对象并返回。链表的简单知识,记录于此。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!