寻马鞍点的c语⾔算法(数据结构之数组)
从⼀个⼆维数组中,寻马鞍点,马鞍点的特点就是在⼀个维度上是最⼩值,在另⼀个维度上为最⼤值,就马鞍中间的那个点,需要进⾏两次⽐较,⼀个维度的⽐较到最⼩值,再把此最⼩值跟另⼀个维度上的数⽐较是否为最⼤值来到马鞍点,需要三个循环变量,⼀个标志量。c语言数组最大值最小值
void Get_Saddle(int A[m][n])
{
int i,j,flag,min,k;
for(i=0;i<m;i++)
{
min=A[i][0];
for(j=0;j<n;j++)
{
if(A[i][j]<min)
min=A[i][j];/*求第i⾏的最⼩值*/
for(j=0;j<n;j++)
if(A[i][j]==min) /* 判断此最⼩值是否为马鞍点*/
{ flag==1;
for(k=0;k<n;k++)
if(min<A[k][j]) flag=0;
if(flag)
printf("Found a saddle element !\n A[%d][%d]=%d",i,j,A[i][j]);
}
}
}
printf("\n");
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论