java语言 百分网手机站

Java排序算法

时间:2020-10-31 11:32:38 java语言 我要投稿

Java排序算法

  java操作中常见的.排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。下面是小编为大家搜索整理的Java排序算法,希望大家能有所收获,更多精彩内容请及时关注我们应届毕业生考试网!

  1,冒泡法

  public class BubbleSortImpl1 {

  public static void BubbleSort(int A[]) {

  int n = A.length;

  for(int i=0;i

  for(int j=0;j

  if(A[j]>A[j+1])

  {

  int temp=A[j];

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

  A[j+1]=temp;//直接调用Swap会出错。why?

  }

  }

  }

  }

  public static void swap(int a, int b) {

  int temp = a;

  a = b;

  b = temp;

  }

  /**

  * @param args

  */

  public static void main(String[] args) {

  // TODO Auto-generated method stub

  int A[] = new int[] { 2, 5, 3, 9, 7, 1, 30 };

  BubbleSort(A);

  for (int i = 0; i < A.length; i++) {

  System.out.println(A[i]);

  }

  }

  }

  2,堆排序

  public class HeapSort {

  static void HeapAdjust(int H[],int s,int n){//使H[s...m]称为一个大顶堆

  int rc=H[s];

  int j;

  for(j=2*s;j<=n;j=j*2){

  if(j

  ++j;//j为父节点的最大孩子

  if(rc>=H[j])

  break;//rc应该掺入在j的父位置上

  H[s]=H[j];//j上移

  s=j;

  }

  H[s]=rc;

  }

  static void Heap_Sort(int H[]){

  int n=H.length;

  for(int i=n/2;i>0;i--){

  HeapAdjust(H,i,n);

  }//

  for(int k=n-1;k>1;k--){

  int temp=H[1];

  H[1]=H[k];

  H[k]=temp;//将堆顶记录和 当前未经排序子序列中最后一个记录交换。

  HeapAdjust(H,1,k-1);

  }

  }

  /**

  * @param args

  */

  public static void main(String[] args) {

  // TODO Auto-generated method stub

  int A[]={0,3,5,9,2,7};

  Heap_Sort(A);

  for(int i=0;i

  System.out.print(A[i]);

  }

  }

  3,插入排序

  public class InsertSortImpl {

  /**

  * @param args

  */

  public static void InsertSort(int A[]) {

  int n = A.length;

  for (int i = 0; i < n-1; i++) {

  int temp = A[i+1];

  Insert(A, temp, i );

  }

  }

  public static void Insert(int A[], int e, int k) {// 对A[1...k]排序

  while(k>=0&&A[k]>e){

  A[k+1]=A[k];

  k--;

  }

  A[k+1]=e;

  }

  public static void main(String[] args) {

  // TODO Auto-generated method stub

  int A[] = new int[] { 2, 5, 3, 9, 7, 1, 30,6 };

  InsertSort(A);

  for (int i = 0; i < A.length; i++) {

  System.out.println(A[i]);

  }

  }

  }

【Java排序算法】相关文章:

1.java常见的排序算法的代码

2.JAVA简单选择排序算法及实现

3.java堆排序的算法思想的分析

4.Java常用的7大排序算法

5.冒泡排序算法原理及JAVA实现代码方法

6.PHP排序算法类讲解

7.c语言的排序算法

8.c语言中冒泡排序、插入排序、选择排序算法比较

9.C语言冒泡排序算法实例