Мы можем поместить его в list
, использовать lengths
для создания индекса максимальной длины и извлечь этот элемент из list
lst[which.max(lengths(lst))]
lst <- list(x, y, z)
] Вы не создали массив объектов std::list
, когда вы использовали malloc
. Все malloc
- это выделение памяти из кучи - никаких объектов не создается. Таким образом, попытка использовать ваши std::list
, как если бы они были созданы правильно, приведет к неопределенному поведению .
Вы должны использовать контейнер, например std::vector
, чтобы сохранить свой список objects:
#include <vector>
#include <list>
class graph
{
int v;
std::vector<std::list<int>> adj;
void dfsutil(int v,bool visited []);
public:
graph(int num) : v(num), adj(num) {}
void addedge(int v,int w);
void dfs(int v);
};
Обратите внимание: нет необходимости выделять память. Остальная часть вашего кода должна оставаться неизменной, поскольку vector
имеет перегрузку operator []
для доступа к элементам.