黑马程序员技术交流社区

标题: 冒泡排序+折半查找~~~!一种非常经典算法~! [打印本页]

作者: 胡大强    时间: 2012-6-17 00:32
标题: 冒泡排序+折半查找~~~!一种非常经典算法~!
  1. import java.util.Scanner;
  2. import java.io.*;

  3. class test
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 int i,j,temp;
  8.                 int n;
  9.                 int  a[]=new int[10];  //创建数组
  10.                 int low=0,high=10,mid;
  11.                  Scanner in=new Scanner(System.in);
  12.                 System.out.println("input the array:");
  13.                 for(i=0;i<10;i++)
  14.                         {
  15.                         a[i]=in.nextInt();;  


  16.                         }
  17.                         for(i=0;i<10;i++)              /* 冒泡排序 */
  18.                         for(j=0;j<10-i-1;j++)
  19.                                 {
  20.                                 if(a[j]>a[j+1])
  21.                                         {
  22.                                         temp=a[j];
  23.                                         a[j]=a[j+1];
  24.                                         a[j+1]=temp;
  25.                                         }
  26.                                         }
  27.                                         System.out.println("after sort,the array:");
  28.                                         for(i=0;i<10;i++)
  29.                                                 System.out.print(a[i]+"  ");
  30.                                         System.out.println("input a data n:");
  31.                                         n=in.nextInt();
  32.                                         while(low<=high)                                       /*折半查找*/
  33.                                         {
  34.                                                 mid=(low+high)/2;
  35.                                                 if(n==a[mid])
  36.                                                         {
  37.                                                         System.out.println("the data is in:"+mid);
  38.                                                         break;
  39.                                                         }
  40.                                                         else if(n<a[mid])
  41.                                                                 high=mid-1;
  42.                                                         else if(n>a[mid])
  43.                                                                 low=mid+1;
  44.                                                          }
  45.                                                          }
  46. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2