/** * Die Klasse BitSet realisiert eine Bitmenge, d.h. eine * Datenstruktur, in der einzelne Bits gesetzt (1), andere * nicht gesetzt sind (0). Bspw. repraesentiert die Bitfolge 10011, * dass die Bits 1, 4 und 5 gesetzt und alle anderen Bits * nicht gesetzt sind. * * @version 1.0, 18.02.1998 * @author Dietrich Boles */ public class BitSet implements Cloneable { /** * in diesem booleschen Array, das als "dynamisches Array" realisiert * wird, werden die gesetzten Bits vermerkt, und zwar derart, dass * das Array immer nur die gesetzten Bits enthaelt; das Array ist * sortiert */ protected int[] bits; /** * Initialisieren einer leeren Bitmenge, d.h. kein Bit ist gesetzt * (Default-Konstruktor) */ public BitSet() { this.bits = new int[0]; } /** * Initialisieren einer Bitmenge mit einer bereits existierenden * Bitmenge (Copy-Konstruktor) */ public BitSet(BitSet other) { this.bits = new int[other.bits.length]; for (int i=0; i