求马鞍点java_二维数组马鞍点求解算法

若在矩阵A 中存在一个元素ai,j(0≤i≤n-1,0≤j≤m-1),该元素是第i行元素中最小值且又是第j 列元素中最大值,则称此元素为该矩阵的一个马鞍点。假设以二维数组存储矩阵A,试设计一个求该矩阵所有马鞍点的算法,并分析最坏情况下的时间复杂度。

1 #include

2 #include

3 #include

4 #define maxrow 20

5 #define maxcolumn 20

6 typedef int Elementtype;//???????????? 7

8 void Read(int m,int n,Elementtype A[][maxcolumn])

9 { 10 int i,j; 11 printf("Enter these elements :\n");

12 for(i=0;i

14 for(j=0;j

15 {

16 scanf("%3d",&A[i][j]);

17 }

18 } 19 }

20 21 void RowMin(int m,int n,Elementtype A[][maxcolumn],char Mark1[][maxcolumn])

22 { 23 int i,j,loc;//???????loc?????loc????????

24 Elementtype tmp;

25 for(i=0;i

28 tmp=A[i][0];

29 for(j=1;j

30 {

31 if(A[i][j]

32 {

33 tmp=A[i][j];

34 loc=j;//??????????????????j???????j?for????? 35 }

36 }

37 Mark1[i][loc]='@'; 38 for(j=0;j

39 {

40 if(A[i][j]==tmp)

41 { 42 Mark1[i][j]='@'; 43 }

44 }

45 }

46 }

47

48 void ColumnMax(int m,int n,Elementtype A[][maxcolumn],char Mark2[][maxcolumn])

49 {

50 int i,j,loc;

51 Elementtype tmp;

52 for(j=0;j

55 tmp=A[0][j];

56 for(i=1;i

57 {

58 if(A[i][j]>tmp)

59 {

60 tmp=A[i][j]; 61 loc=i; 62 }

63 }

64 Mark2[loc][j]='@';

65 for(i=0;i

66 {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值