如何在非STL图中找到最小的元素?

How to find the smallest element in non STL graph?

本文关键字:元素 STL      更新时间:2023-10-16

我有一个非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;   
}