随笔 - 0  文章 - 3  trackbacks - 0
<2025年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

留言簿

文章档案(50)

搜索

  •  

最新评论

代码一:链表结构的java实现



java 代码
java 代码





  1. public class ListNode {   

  2.            

  3.         Object element;   

  4.         ListNode next;   

  5.                    

  6.         ListNode(Object o,ListNode n)   

  7.         {   

  8.                 element=o;   

  9.                 next=n;   

  10.         }   

  11.            

  12.         ListNode(Object o)   

  13.         {   

  14.                 this(o,null);   

  15.         }   

  16. }   



 


java 代码




  1. public class LinkedList {   

  2.   

  3.         private ListNode header;   

  4.            

  5.         LinkedList()   

  6.         {   

  7.                 header=new ListNode(null);   

  8.         }   

  9.            

  10.         LinkedList(ListNode n)   

  11.         {   

  12.                 header=new ListNode(null,n);   

  13.         }   

  14.            

  15.         /**  

  16.          * 判断链表是否为空  

  17.          * @return 链表是否为空的布尔值  

  18.          */  

  19.         boolean isEmpty()   

  20.         {   

  21.                 return header.next==null;   

  22.         }   

  23.            

  24.         /**  

  25.          * 清空链表.  

  26.          * 注:此方法没有真正清除内存,清楚内存的任务交给java垃圾回收器去处理吧.^_^  

  27.          */  

  28.         void makeEmpty()   

  29.         {   

  30.                 header=null;   

  31.                 System.gc();   

  32.         }   

  33.            

  34.         /**  

  35.          * 查找目标数据所在节点  

  36.          * @param o 目标数据  

  37.          * @return 保存目标数据节点  

  38.          */  

  39.         ListNode find(Object o)   

  40.         {   

  41.                 if(isEmpty())   

  42.                         return null;   

  43.                    

  44.                 ListNode node = header.next;   

  45.                 while(node!=null)   

  46.                 {   

  47.                         if(node.element.equals(o))   

  48.                                 return node;   

  49.                            

  50.                         node=node.next;   

  51.                 }   

  52.                 return null;   

  53.         }   

  54.            

  55.         /**  

  56.          * 在节点node后面新建一个节点,该节点保存数据o  

  57.          * @param o 数据  

  58.          * @param node 插入节点  

  59.          */  

  60.         void insert(Object o,ListNode node)   

  61.         {   

  62.                 node.next=new ListNode(o,node.next);   

  63.         }   

  64.            

  65.         /**  

  66.          * 删除目标数据的节点  

  67.          * @param o 目标数据  

  68.          */  

  69.         void remove(Object o)   

  70.         {   

  71.                 if(isEmpty())   

  72.                         return;   

  73.                    

  74.                 ListNode node = header.next;   

  75.                 while(node!=null)   

  76.                 {   

  77.                         if(node.next.element.equals(o))   

  78.                         {   

  79.                                 node.next=node.next.next;   

  80.                                 return;   

  81.                         }   

  82.                         node = node.next;   

  83.                 }   

  84.         }   

  85. }   






评论也很精彩,请点击查看精彩评论。欢迎您也添加评论。查看详细 >>





JavaEye推荐
北京:优秀公司NHNChina招聘:WEB开发,系统管理,JAVA开发, DBA
广州:急招 JAVA开发经理/系统架构师(10-15K/月)也招聘java程序员
与Hibernate之父面对面-4月19日 Gavin King上海交流研讨会
高薪工作机会 美国法国上海 15-20k/月 J2EE SA



文章来源: http://xiaozhe.javaeye.com/blog/58077
posted on 2007-03-07 22:55 xiaozhe 阅读(115) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: