⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taenzerfrau.java

📁 波卡舞,n个男宾与n-1个女宾,11对应,没有对应的用一个扫帚代替.舞曲时间一定,有不同小节数,每小节移动不同次,一曲终了,把扫帚的下一对排出.求最后剩下的男宾号码和每次排出的一对的男女编号.一道习题
💻 JAVA
字号:
/** * TaenzerMann-Classe. * @author swift * 22.09.07 */public class TaenzerFrau {    /**     * TaenzerFrau ist ein DoubleLinked List.     */    private Taenzer head = new Taenzer(null);    private int size;    /**     * fuegen Object o am Anfang hinzu.     * @param o     * @return boolean     */    public boolean addFirst(Object o) {        addAfter(new Taenzer(o), head);        return true;    }    /**     * fuegen Object o am end hinzu.     * @param o     * @return boolean     */    public boolean addLast(Object o) {        addBefore(new Taenzer(o), head);        return true;    }    /**     * als reihefolg Object hinzufuegen.     * @param o     * @return boolean     */    public boolean add(Object o) {        return addLast(o);    }    /**     * Object o am bestimmt Position(index) hinzufuegen.     * @param index     * @param o     * @return boolean     */    public boolean add(int index, Object o) {        addBefore(new Taenzer(o), getTaenzer(index));        return true;    }    /**     * Object am bestimmt Position entfernen.     * @param index     * @return boolean     */    public boolean remove(int index) {        removeTaenzer(getTaenzer(index));        return true;    }    /**     * entfernen 1st Taenzermann.     * @return boolean     */    public boolean removeFirst() {        removeTaenzer(head.next);        return true;    }    /**     * entfern letzt Taenzermann.     * @return boolean     */    public boolean removeLast() {        removeTaenzer(head.prev);        return true;    }    /**     * get value von bestimmt Position.     * @param index     * @return Object     */    public Object get(int index) {        return getTaenzer(index).value;    }    /**     * get Number des Listes.     * @return int     */    public int size() {        return size;    }    /**     * @return String     */    public String toString() {        StringBuffer s = new StringBuffer("[");        Taenzer node = head;        for (int i = 0; i < size; i++) {            node = node.next;            if (i > 0) {                s.append(", ");            }            s.append(node.value);        }        return s.toString();    }    /**     * get Taenzer von bestimmt Position.     * @param index     * @return Taenzer     */    private Taenzer getTaenzer(int index) {        if (index < 0 || index >= size) {            throw new IndexOutOfBoundsException();        }        Taenzer node = head.next;        for (int i = 0; i < index; i++) {            node = node.next;        }        return node;    }    /**     * add newTaenzer vor der Taenzer und size++.     * @param newTaenzer     * @param node     */    private void addBefore(Taenzer newTaenzer, Taenzer node) {        newTaenzer.next = node;        newTaenzer.prev = node.prev;        newTaenzer.next.prev = newTaenzer;        newTaenzer.prev.next = newTaenzer;        size++;    }    /**     * add newTaenzer hinter der Taenzer und size++.     * @param newTaenzer     * @param node     */    private void addAfter(Taenzer newTaenzer, Taenzer node) {        newTaenzer.prev = node;        newTaenzer.next = node.next;        newTaenzer.next.prev = newTaenzer;        newTaenzer.prev.next = newTaenzer;        size++;    }    /**     * entfernen ein Taenzer und size--.     * @param node     */    private void removeTaenzer(Taenzer node) {        node.prev.next = node.next;        node.next.prev = node.prev;        node.prev = null;        node.next = null;        size--;    }    /**     * tanzen fuer 1 Takte,da mann 5 und frau 3 schritten umdrehen     * is gleich nur mann 2 schritten umdrehen,frauen bleibenstehen.     */    public void tanzen() {    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -