疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

八大排序算法-java实现


 

   

  public class Sort {

  //1.直接插入排序

  public void insertSort(int[] A)

  {

  int n = A.length;

  for(int i = 0 ; i < n ; i++)

  {

  int x = A[i];

  int j = i - 1 ;

  while(j >= 0 && A[j] >= x)

  {

  A[j+1] = A[j];

  j--;

  }

  A[j+1] = x ;

  }

  }

  //2.希尔排序

  public void shellSort(int[] A)

  {

  int n = A.length ;

  int d = n/2 ;

  while(d >= 1)

  {

  for(int x = 0 ; x < d ; x++)

  {

  for(int i = x+d ; i < n ; i += d )

  {

  int temp = A[i];

  int j = i - d ;

  while(j >= 0 && A[j] > temp)

  {

  A[j+d] = A[j];

  j = j - d ;

  }

  A[j+d] = temp ;

  }

  }

  d = d >> 1 ;

  }

  }

  //3.冒泡排序

  public void bubbl