美文网首页
Bag(背包)的Java实现

Bag(背包)的Java实现

作者: TheMarriedBoy | 来源:发表于2016-07-02 23:18 被阅读2335次

前言
  这是我学习算法以来第一次接触到这种数据结构,虽然有很多疑惑,但是还是耐着性子码一下吧。毕竟要贯彻“觉知此事要躬行”的精神。
  不罗嗦,上代码。


代码
新建Bag类所需的节点类

public class BagNode<Item>
{
    Item item;
    BagNode next;
}

add数据

    public void add(Item item)
    {
        BagNode oldFirst = first;
        first.item = item;
        first.next = oldFirst;
    }

迭代遍历

    @Override
    public Iterator iterator()
    {
        // TODO Auto-generated method stub
        return new BagIterator();
    }

    private class BagIterator implements Iterator<Item>
    {
        BagNode node = first;

        @Override
        public boolean hasNext()
        {
            // TODO Auto-generated method stub
            return node.next != null;
        }

        @Override
        public Item next()
        {
            // TODO Auto-generated method stub
            Item item = (Item) node.item;
            node = node.next;
            return item;
        }

    }

全部代码

import java.util.Iterator;

public class Bag<Item> implements Iterable
{
    BagNode first;

    public void add(Item item)
    {
        BagNode oldFirst = first;
        first.item = item;
        first.next = oldFirst;
    }

    @Override
    public Iterator iterator()
    {
        // TODO Auto-generated method stub
        return new BagIterator();
    }

    private class BagIterator implements Iterator<Item>
    {
        BagNode node = first;

        @Override
        public boolean hasNext()
        {
            // TODO Auto-generated method stub
            return node.next != null;
        }

        @Override
        public Item next()
        {
            // TODO Auto-generated method stub
            Item item = (Item) node.item;
            node = node.next;
            return item;
        }

    }
}

相关文章

  • Bag(背包)的Java实现

    前言  这是我学习算法以来第一次接触到这种数据结构,虽然有很多疑惑,但是还是耐着性子码一下吧。毕竟要贯彻“觉知此事...

  • 全球风向网-----“包”装世界

    NO.1-----Brooks Hackney bag骑行背包 Brooks的前身 1865年,John Boul...

  • 手写Java数组栈

    package test; import java.util.Iterator; public class Bag...

  • Java-背包算法实现

    介绍 给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 ,其价值为 问:应该如何选择装入背包的物品,使...

  • Unity 简单的背包实现

    使用Unity完成简单的背包功能 用UGUI布局成一下这个样子 设置BackGround的tag为Bag Lft,...

  • 读书笔记《算法》1.3.1

    书中例题 Bag背包 背包是一种不支持从中删除元素的集合数据类型——它的目的就是帮助用例收集元素并迭代遍历收集到的...

  • 1.3 背包(Bag)、队列(Queue)和栈(Stack)

    不同在于删除或者访问对象的顺序不同 1.1 泛型 集合类的抽象数据类型的一个关键特性是我们应该可以用它们存储任意类...

  • 包的起源

    包(英文:Bag),即手袋箱包,包括钱包、钥匙包、零钱包、手拿包、拎包、背包、书包、挎包、公文包等等。不仅用于存放...

  • 包的起源

    包(英文:Bag),即手袋箱包,包括钱包、钥匙包、零钱包、手拿包、拎包、背包、书包、挎包、公文包等等。不仅用于存放...

  • 如何挑选包包

    包包(英文:Bag),即手袋箱包,包括钱包、钥匙包、零钱包、手拿包、拎包、背包、书包、挎包、公文包等等。不仅用于存...

网友评论

      本文标题:Bag(背包)的Java实现

      本文链接:https://www.haomeiwen.com/subject/fxgqjttx.html