<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

    Java排序算法

    時間:2025-03-05 22:17:32 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排序算法詳解05-21

    JAVA語言的常見排序算法07-16

    java常見的排序算法的代碼03-26

    java堆排序的算法思想的分析04-20

    JAVA簡單選擇排序算法及實現02-10

    Java常用的7大排序算法04-22

    Java常用的五大排序算法03-30

    冒泡排序算法原理及JAVA實現代碼方法03-20

    c語言的排序算法07-22

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人