3.6.1. Implementace seznamem s lineárním vyhledáváním
Nejjednodušší implementace množiny vychází z libovolného seznamu, do kterého
budeme ukládat všechny její prvky. Při ukládání musíme pouze zajistit, aby
každý prvek byl v seznamu nejvýše jednou. Vzhledem k tomu, že nemusíme
garantovat žádné konkrétní pořadí prvků, můžeme nové prvky vkládat tam, kde
bude vložení nejjednodušší - např. na konec nebo začátek seznamu.
 | Příklad 3.10. |
|
Implementujte rozhraní Set s využitím seznamu.
Prvky množiny budeme udržovat v seznamu. Na tento seznam budou delegovány
všechny operace, pouze v operaci vkládání zajistíme navíc to, aby se do seznamu
neuložil jeden prvek víckrát.
class ArraySet implements Set
{
public ArraySet(int capacity)
{
list = new ArrayList(capacity);
}
public void add(Object elem)
{
if( list.contains(elem) ) return;
list.add(elem);
}
public boolean remove(Object elem)
{
return list.remove(elem);
}
public boolean contains(Object elem)
{
return list.contains(elem);
}
public int size()
{
return list.size();
}
public Iterator iterator()
{
return list.iterator();
}
protected ArrayList list;
}
|