Представление структуры данных Java - PullRequest
0 голосов
/ 02 марта 2012

У меня немало проблем с решением, как представлять определенную проблему. По сути, мне нужен список / вектор с заданным числом от args[1]. Каждый из них будет иметь от 0 до args[2].

Мне нужно будет создать алгоритм для поиска всех возможных комбинаций аргументов из элементов первого.

Как пример:

1 -> 3 5
2 -> 1 3 4 5
3 -> 2
4 -> 2 5 1
5 -> 1 3 4

Из этого примера мне нужно будет сгенерировать все комбинации путей, например, из 1 вы можете перейти к 3 или 5 и т. Д. И не сможете вернуться по тому же мини-пути, поэтому я предполагаю, что у меня будет найти рекурсивный способ полного поиска по всем путям.

Моей первой попыткой было создать вектор от 1 до 5 с массивом для каждого элемента, но у меня возникли проблемы с инициализацией и доступом к значениям в списках.

for (int i=0; i < total; i++) {
    matrix[i] = new ArrayList<int>(total);
}

for (int i=0; i < total_paths; i++) {
    matrix[Integer.parseInt(args[i])].add(Integer.parseInt(args[i]));
}

Любые предложения приветствуются.

Ответы [ 2 ]

0 голосов
/ 02 марта 2012

Вы не можете иметь ArrayList<int> - это должно быть ArrayList<Integer>.

Списки могут хранить только Объекты, такие как Integer, String и т. Д. В Java int является примитивным типом, а не истинным объектом.

Ваш второй кодовый блок будет сводиться к:

matrix[1].add(1);

(например - то же значение, что и индекс массива и запись списка) - это то, что вы имели в виду? Не совсем понятно, как вы передаете значения в ...

0 голосов
/ 02 марта 2012

Вы не можете иметь ArrayList<int>;только ArrayList<Integer>.Однако в большинстве случаев Java автоматически преобразует между int и Integer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...