天天看点

黑马程序员 03选择排序,冒泡排序,折半查找

---------------------- android培训、java培训、期待与您交流! ----------------------

1、折半查找

class SearchArray

{

 public static void main(String[] args)

 {

  int[] arr={2,3,4,5,6};

  if(index==-1)

  {

   System.out.println("该元素不存在");

  }

  else

   System.out.println("该元素的角标是:"+index);

  int[] arr={2,3,4,5,6,7};

  int index=halfSearch(arr,4);

  System.out.println("index="+index);

 }

 //折半查找:必须是对有序的数组进行查找

 public static int halfSearch(int[] arr,int key)

 {

  int min,mid,max;

  min=0;

  max=arr.length-1;

  while(min<=max)

  {

   mid=(min+max)/2;

   if(key>arr[mid])

   {

    min=mid+1;

   }

   else if(key<min)

   {

    max=mid-1;

   }

   else

    return mid;

  }

  return -1;

 }

 //对数组中的元素进行查找,获取该元素第一次在数组中出现的位置。

 public static int getIndex(int[] arr,int key)

 {

  for(intx=0;x<arr.length;x++)

  {

   if(arr[x]==key)

   {

    return x

   }

  }

  return -1;

 }

}

2、冒泡排序,选择排序

import java.util.*;

class  ArrayTest2

{

 public static void main(String[] args)

 {

  int[] arr = {4,1,2,6,5,7,3};

  printArray(arr);

  //selectSort(arr);

  //bubbleSort(arr);

  Arrays.sort(arr);//这是java提供的排序方法。开发时用它最方便。

  printArray(arr);

 }

 public static void bubbleSort(int[] arr)

 {

  for(int x=0; x<arr.length-1; x++)

  {

   for(int y=0;y<arr.length-x-1; y++)

   {

    if(arr[y]>arr[y+1])

    {

     swap(arr,y,y+1);

    }

   }

  }

 }

 public static void selectSort(int[] arr)

 {

  for(int x=0; x<arr.length-1; x++)

  {

   for(int y=x+1; y<arr.length; y++)

   {

    if(arr[x]>arr[y])

    {

     swap(arr,x,y);

    }

   }

  }

 }

 public static void swap(int[] arr,int x,int y)

 {

  int temp = arr[x];

  arr[x] = arr[y];

  arr[y] = temp;

 }

 public static void printArray(int[] arr)

 {

  for(int x=0; x<arr.length; x++)

  {

   if(x!=arr.length-1)

    System.out.print(arr[x]+",,,");

   else

    System.out.println(arr[x]);

  }

 }

}

---------------------- android培训、java培训、期待与您交流! ----------------------

---------------------- android培训、java培训、期待与您交流! ----------------------