首页 > 其他 > 详细

查找矩阵中某一元素

时间:2019-11-10 17:37:55      阅读:139      评论:0      收藏:0      [点我收藏+]

设定整数数组B[m+ 1][n+1]的数据在行、列方向上都按从小到大的顺序排列,且整型变量x中的数据在B中存在。试设计一个算法,找出一对满足B[i][j]-x的i,j值。要求比较次数不超过m十n.

思路:由矩阵存储的特殊性,应选择从右上角(或左下角)作为开始位置,若B[r][c]>x,列减一,B[r][c]<x则行加一,相等时找到

 

技术分享图片
 1 ...
 2 
 3 void Find(int x)
 4 {
 5     int Counter = 0;//统计查找次数
 6     int r = 0, c = n-1;    // 从右上角开始找 
 7     while (B[r][c] != x) {
 8         if (B[r][c] > x)
 9             c--;
10         else
11             r++;
12         Counter++;
13     }
14     cout << Counter << "(" << r << "," << c <<")"<< endl;
15 }
16 
17 ...
View Code

 

 

查找矩阵中某一元素

原文:https://www.cnblogs.com/guoyujiang/p/11830948.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!