一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 876|回复: 3
收起左侧

[树/链表/图] 关于hash table中remove方法的递归实现问题

[复制链接] |试试Instant~ |关注本帖
南方Giraffe 发表于 2016-1-14 09:18:23 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
楼主正在学hash table,其中有一个remove方法是这样的:

public void remove(AnyType x)
{
    List<AnyType> whichList = theList [ myhash(x) ] ; //用x的hashcode的值找到x所在的list
    if ( whichList.contains(x) )  {   //contains(x),如果x存在则返回true
        whichList.remove(x);           
        currentSize --;
    }
}

该有的注释都在上面了,楼主不明白的是在if里面的递归语句。为什么用递归不需要写具体的操作,比如先删除这个项,再把后指针前指针改变之类的。谢谢各位指点
luofeidream 发表于 2016-1-14 09:27:55 | 显示全部楼层
哪里有递归?你点进去看remove的源码不就知道了吗
回复 支持 反对

使用道具 举报

 楼主| 南方Giraffe 发表于 2016-1-14 09:44:34 | 显示全部楼层
luofeidream 发表于 2016-1-14 09:27
哪里有递归?你点进去看remove的源码不就知道了吗

原来是我眼花了 把if里面的remove当成是我写的那个remove了 谢谢解答
回复 支持 反对

使用道具 举报

 楼主| 南方Giraffe 发表于 2016-1-14 09:45:08 | 显示全部楼层
没有递归,眼花看错,此题终结
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-9 12:08

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表