Как Вы удаляете выбранные строки из JTable?

Вот мое предложение. Работает в Mathematica, работает нормально:

gen[f_, n_] := Module[{id = -1, val = Table[Null, {n}], visit},
  visit[k_] := Module[{t},
    id++; If[k != 0, val[[k]] = id];
    If[id == n, f[val]];
    Do[If[val[[t]] == Null, visit[t]], {t, 1, n}];
    id--; val[[k]] = Null;];
  visit[0];
  ]

Factorial[n_] := Module[{res=0}, gen[res++&, n]; res]

Обновление Хорошо, вот как это работает: функция посещения из книги Алгоритмов Седжвика, она «посещает» все перестановки длины n. При посещении он вызывает функцию f с перестановкой в ​​качестве аргумента.

Итак, Factorial перечисляет все перестановки длины n, и для каждой перестановки счетчик res увеличивается, таким образом вычисляя n! в O (n + 1)! время.

14
задан Penchant 17 March 2009 в 17:46
поделиться

1 ответ

Почему бы просто не использовать это,

public void removeSelectedFromTable(JTable from)
{
        int[] rows = from.getSelectedRows();
        TableModel tm = (DefaultTableModel) from.getModel();


        for (int row : rows) {
            tm.removeRow(from.convertRowIndexToModel(row));
        }

        from.clearSelection();
}
2
ответ дан 1 December 2019 в 07:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: