JAVA基礎筆記三 幾種排序演算法

2021-07-02 13:53:16 字數 1570 閱讀 8106

插入排序

直接插入排序:

演算法思想:第一次迴圈時,比較a[0]和a[1]的大小,如果a[0]>a[1],則將a[1]插入到a[1]之前;第二次迴圈,比較a[2]和a[1]的大小,如果a[1]>a[2],將a[2]插入到a[1]之前,然後比較a[2]和a[0],如果a[0]>a[2],則將a[2]插入到a[0]之前….依次迴圈,直到a[n-1]插入完為止,這時陣列元素就已經排好了序。

`public static void insertsort(int a,int n) 

a[j+1] = temp;

}}`

希爾排序:

演算法思想:將待排序的資料元素分成若干小組,對每個小組內的資料用直接插入排序,小組的個數不斷減少。當完成所有資料元素在同乙個小組的排序後,排序過程結束。

public

static

void

hillsort(int a,int n,int d,int numofd)

a[m+span] = temp;}}

}}

選擇排序:

直接選擇排序:

public

static

void

selectsort(int a,int n)

}}

堆排序:

交換排序:利用交換元素的位置進行排序的方法

氣泡排序:

演算法思想:

迴圈進行n-1趟排序。第一趟排序,依次比較a[i]和a[i+1](i=0,1,2…n-2)的大小,如果a[i]>a[i+1],則交換兩個元素,這樣最大的元素被放在a[n-1]處;進行第二趟排序,資料元素個數減少1,即為n-1,然後做相同的操作,依次迴圈直到最小的元素放在a[1],a[0],排序結束。

public

static

void

bubblesort(int a,int n) }}

}

快速排序:是一種二叉樹結構的交換排序演算法

演算法思想:

low,high為陣列的低高階下標,從陣列中任意去乙個元素(一般a[low])作為標準,調整陣列中各個元素的位置,使得比標準元素小的資料元素排在標準元素的左邊,比標準元素大的資料元素排在標準元素的右邊,這樣一次過程結束後,將陣列分成了兩個子陣列,在用類同的方法進行遞迴,遞迴結束的條件是high>=low。

public static void quicksort(int a,int low,int high) 

while(ia[i])

i++;

if(temp<=a[i])

}a[i] = temp;

if(lowa,low,i);

if(ia, i+1, high);

}

Java幾種排序演算法

陣列排序 author jrunner 2009 10 26 e main jrunner 126.com class testsort print a tosort1 a tosort2 a tosort3 a tosort4 a print a 方法一 更換值 private static vo...

基礎演算法(三) 氣泡排序(Java)

建立乙個氣泡排序類,例項中處理的是int型資料,可以根據需要進行替換 package sortalgorithm created by promacanthus on 2017 6 12.public class bubblesort public void bubblesort int ints ...

Java 幾種排序演算法對比

直接插入排序 插入排序就是 取出乙個數,插入到有序陣列中,首先,取出第乙個元素放入有序陣列中,然後取出第二個,兩個數進行比較,如果它小,則有序數的最後乙個向後移動一格,然後與有序陣列倒數第二個比較,如果小,則繼續向後移動。如果碰到比它小的,則插入在其後面。演算法思想為 外層迴圈是遍歷陣列的所有值 內...