Java Bag模型模拟

举报
tea_year 发表于 2021/12/30 00:17:20 2021/12/30
【摘要】 //背包节点类(布袋节点类)public class BagNode<Item>{ Item item; //参数 BagNode next; //下一个背包节点;} import java.util.Iterator; //定义泛型背包类public class Bag<Item> implements ...

  
  1. //背包节点类(布袋节点类)
  2. public class BagNode<Item>{
  3. Item item; //参数
  4. BagNode next; //下一个背包节点;
  5. }


  
  1. import java.util.Iterator;
  2. //定义泛型背包类
  3. public class Bag<Item> implements Iterable<Item> {
  4. //0定义私有的成员变量;
  5. private BagNode first;
  6. //1.定义添加背包项方法;
  7. public void add(Item item){
  8. BagNode oldFirst=first;
  9. first.item=item;
  10. first.next=oldFirst;
  11. }
  12. @Override
  13. public Iterator<Item> iterator() {
  14. return new BagIterator();
  15. }
  16. //定义私有的内部类;
  17. private class BagIterator implements Iterator<Item>{
  18. BagNode node=first;//定义背包第一个节点是first
  19. @Override
  20. public boolean hasNext() {
  21. return node.next!=null;
  22. }
  23. @Override
  24. public Item next() {
  25. Item item=(Item)node.item;
  26. node=node.next;
  27. return item;
  28. }
  29. @Override
  30. public void remove() {
  31. //背包数据结构不存在删除方法,所以去掉该方法的定义。
  32. }
  33. }
  34. }

附上:R

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/79818747

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。