【算法与数据结构】二维数组中寻找鞍点
2017-03-03 21:20
387 查看
二维数组寻找鞍点算法思想:
1、对二维数组遍历,拿每一行的第一个元素作为比较的元素;
2、如果该元素大于这一行的所有元素,遍历这一元素所在列中的元素并比较;
3、如果该元素小于所有元素,那么就找到了一个鞍点。
C语言实现如下:
运行结果:
1、对二维数组遍历,拿每一行的第一个元素作为比较的元素;
2、如果该元素大于这一行的所有元素,遍历这一元素所在列中的元素并比较;
3、如果该元素小于所有元素,那么就找到了一个鞍点。
C语言实现如下:
#include <stdio.h> #define m 3 #define n 3 int a[3][3]={{1,1,8},{3,1,7},{1,4,6}}; int i,j; int temp1=0,temp2=0; int row,col; int k; int flag; void find(int a[m] ){ for(i=0;i<m;i++){ for(j=0;j<n;j++){ if(a[i][0]<a[i][j]){//寻找行中最大值 temp1=a[i][j];//将最大值赋给中间变量temp1 row=i;//记录下行号 col=j;//记录下列号 } } for(k=0;k<m;k++){ if(a[k][col]<temp1){ break; }else { if(k==m-1){//结束判断 printf("当前鞍点是:%d\n", a[row][col]); flag++; } } } } if(flag==0){ printf("当前%d行没有鞍点\n",i+1 ); }else { printf("有%d个鞍点\n", flag); } } int main(){ int count=0; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ printf("%d\t", a[i][j]); count++; if(count%3==0){ printf("\n"); } } } find(a); }
运行结果:
1 1 8 3 1 7 1 4 6 当前鞍点是:6 有1个鞍点
相关文章推荐
- 寻找一个二维数组鞍点的算法实现
- 头疼的算法与数据结构——二维数组中的查找
- 二维数组中寻找鞍点
- 二维数组寻找鞍点
- 寻找二维数组的“鞍点”
- 寻找矩阵中的鞍点<二维数组>
- 数据结构——算法之(028)( 寻找当中的一个子字符串个数)
- 寻找二维数组的鞍点
- 读取一串整数,寻找合适的数据结构和算法,实现插入元素track(int x) 方法,以及GetRankOfNumber(int x)方法,返回值为小于等于x的元素个数(不包括x本身)
- 【数据结构机试复习9】 二维数组中的查找 & 二分查找 & 寻找字符串
- 算法与数据结构实验题 1.3 寻找幸运值
- 算法数据结构面试分享(八)寻找第一个不重复的字符
- 【算法31】寻找数组的主元素(Majority Element)
- 可视化的数据结构和算法
- 【数据结构】算法5.5-5.8 广义表的头尾链表存储结构
- 网页爬虫及其用到的算法和数据结构
- 数据结构和算法13 之快速排序
- 【数据结构】算法7.7-7.8 无向图的连通分量和生成树
- 《Delphi 算法与数据结构》学习与感悟[6]: 一个简单的"单向链表"
- 散列表查找的代码实现 - 数据结构和算法86