二分法java c# VB.NET

 JAVA二分法

 1  public   int  Found( int  a[],  int  r) {
 2      int  start, end, middle, rs;
 3     start  =   0 ;
 4     end  =  a.length;
 5     rs  =  r;
 6 
 7      while  (start  <  end) {
 8 
 9      middle  =  (start  +  end)  /   2 ;
10     
11       if  (rs  ==  a[middle]) {
12        return  middle;
13      }
14       if  (rs  <  a[middle]) {
15       end  =  middle - 1 ;
16      
17      }
18       if  (rs  >  a[middle]) {
19       start  =  middle + 1 ;
20      }
21     }
22      return   - 1 ;
23 
24  }

 C#二分法

代码
 1       public   int  Found( int [] a,  int  r)
 2      {
 3           int  start, end, middle, rs;
 4          start  =   0 ;
 5          end  =  a.length;
 6          rs  =  r;
 7           while  (start  <  end)
 8          {
 9              middle  =  (start  +  end)  /   2 ;
10               if  (rs  ==  a[middle])
11              {
12                   return  middle;
13              }
14               if  (rs  <  a[middle])
15              {
16                  end  =  middle  -   1 ;
17              }
18               if  (rs  >  a[middle])
19              {
20                  start  =  middle  +   1 ;
21              }
22          }
23           return   - 1 ;
24      }

 

VB.NET

代码
 1      Public Function Found(ByVal a As Integer(), ByVal r As Integer) As Integer
 2          Dim start As Integer, [end] As Integer, middle As Integer, rs As Integer
 3          start  =   0
 4          [end]  =  a.length
 5          rs  =  r
 6          While start  <  [end]
 7              middle  =  (start  +  [end]) \  2
 8              If rs  =  a(middle) Then
 9                  Return middle
10              End If
11              If rs  <  a(middle) Then
12                  [end]  =  middle  -   1
13              End If
14              If rs  >  a(middle) Then
15                  start  =  middle  +   1
16              End If
17          End While
18          Return  - 1
19      End Function
 

你可能感兴趣的:(VB.NET)