Swift-二维数组中的查找

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序,输入一个二维数组中的数字,判断二维书中是否存在,存在返回true,不存在返回false~
查询:

class SearchDimension: NSObject {

   func searchNumber(data:Array,number:NSInteger)->Bool{
       if data.count>0 && data[0].count>0 {
           var row=0
           let rows=data.count
           let columns=data[0].count
           var column=columns-1
           while row=0 {
               let rightValue=data[row][column] as! NSInteger
               //存在
               if  rightValue==number {
                   print("current row:\(row)--current column:\(column)")
                   return true
               } else if rightValue>number {//数值小于右上角的值,排除一列
                   column=column-1
               } else {//数值大于右上角的值,排除一列
                   row=row+1
               }
           }
       }
       return false;
   }
}

测试代码:

var data=[[1,2,6,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]
var search=SearchDimension()
var number=6
var isExist = search.searchNumber(data, number: number)
print("FlyElephant:data contains \(number) is \(isExist)")`

你可能感兴趣的:(Swift-二维数组中的查找)