如何在非STL图中找到最小的元素?
How to find the smallest element in non STL graph?
我有一个非stl图,这是我的函数之一。我正在尝试遍历所有元素并找到最小的元素。到目前为止,这是通过它们所做的工作。
void list_node(link *gr[n])
{
cout << "n Graph: " << endl;
for (int i = 0; i < n; i++)
{
if (gr[i])
{
cout << gr[i]->key << " ";
}
}
}
我不明白我做错了什么,但它似乎不起作用。一直给我错误 2 错误 C2440:"=":无法从"int"转换为"链接 *" 如何优化它以正常工作?给我错误的行是:
p=gr[i]->key;
temp_num=p->key;
if(temp_num<final_num)
final_num=temp_num;
他们都来自这里:
const int n = 10;
struct link
{
int key;
link *next;
} *gr[n];
int dfs(link *gr[n])
{ link *p=NULL;
link *temp_num=NULL;
int final_num=5;
cout << "n Graph: " << endl;
for (int i = 0; i < n; i++)
{
if (gr[i]) //ako ima elementi
{
p=gr[i]->key;
if(p>gr[i]->next)
{
p=gr[i]->next;
temp_num=p;
}
else
temp_num=p->key;
if(temp_num<final_num)
{
final_num=temp_num;
}
}
}
return final_num;
}
您的list_node
函数非常接近您的需求。您所需要的只是一个额外的变量,用于跟踪看到的最大值。
int maximum_node(link *gr[n])
{
int max = std::numeric_limits<int>::min(); // initialize max
for (int i = 0; i < n; i++)
{
if (gr[i])
{
max = std::max(gr[i]->key, max); // update max
}
}
return max;
}
相关文章:
- 如何在 STL 函数中找到传递给谓词的元素的索引?
- 如何在 c++ stl 中获取列表中被推回的元素的地址,在常量时间内?
- 是否有具有外部元素分配的序列容器(在 STL 中)?
- 擦除是否删除 stl 无序列图元素使用的堆内存
- 如何根据对的第二个元素对 STL c++ 中的一组对进行排序?
- 如何将元素从 STL 队列传递到函数?
- 如果键不存在,使用 [] 运算符访问 STL Map 元素会添加新元素
- 如何在非STL图中找到最小的元素?
- C++ STL 数据结构常时按索引推送/弹出/随机访问,并具有指向元素的可靠指针
- 无法在STL中打印一组矢量的元素
- 如果我想从类型"T"定义元素的容器(来自 STL),那么"T"必须使用默认构造函数?
- 使用 STL 交换堆栈 C++ 中的第一个和最后一个元素
- 如何使用 STL 哈希容器中的哈希值检索元素?
- 打印/修改类对象的特定成员变量,其类定义列表 (STL) 包含的元素类型
- 如何通过引用对用户定义对象的类型集 (STL) 的数组元素进行增强迭代?
- lower_bound 在 C++ STL 中返回迭代器,即使元素不存在也是如此.如何避免这种情况?
- 遍历 STL 映射(集/多集)的最佳方法,同时元素可能会在循环期间被删除并重新插入?
- 直接访问 STL "set"元素
- 无法将元素添加到 STL 映射
- 如何找到地图的中间元素??STL