上海花千坊

java语言

Java排序算法

时间:2024-06-17 20:24:17 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排序算法】上海花千坊相关的文章:

Java常用的五大排序算法09-09

PHP快速排序算法解析10-09

PHP排序算法类讲解07-18

java的常见排序方法08-31

C语言中使用快速排序算法对元素排序的实例06-20

教你JAVA语言快速排序的原理10-04

java通用组合算法如何实现09-12

C语言选择排序算法及实例代码07-25

C语言插入排序算法及实例代码07-02

java中全排列是如何生成算法09-05