氣泡排序 插入排序 選擇排序的原理及比較

2021-07-01 19:33:23 字數 1076 閱讀 5580

public class test ;

bubblesort(arr);

//selectsort(arr);

//insertsort(arr);

for (int i = 0; i < arr.length; i++) }

/*** 氣泡排序:從初始位置開始,與相鄰的數進行比較,前面的數大於後面的數,進行交換,得到較大的數之後,

* 這個數繼續跟後面相鄰的數進行比較,一輪之後,得到最大的數。

* 依次迴圈下去得到乙個從小到大的陣列。

*/public static void bubblesort(int arr)

}} }

/*** 選擇排序:裡面選擇第乙個為最小值(迴圈與第乙個值進行比較,得出最小值),

* 然後選擇第二個為最小值(迴圈與第二個值進行比較,得出最小值),

* 最終得到從小到大的排序陣列。

* * 關鍵:選擇某個位置的值為最值。

*/public static void selectsort(int arr)

}} }

/*** 插入排序:關鍵在於假設某一段已經排好了序,然後後面的數跟「排好序的部分」進行比較。

* 當這個數小於「排好序的部分」中的某個數時,插入這個數,並移動陣列。

* 依次便可以得到乙個從小到大的陣列。

*/public static void insertsort(int arr)

}} }

private static void movearr(int arr, int i, int j)

arr[j] = temp;

}}

總結:(1)冒泡和選擇排序的**非常的類似,但比較原理可以發現。冒泡演算法,每一輪比較位置都在變化,比較的是相鄰的兩個數。

而選擇排序,每一輪的「選擇的基準值」的位置是不變的,其他的數與「基準值」進行比較,直到此基準值為最小值為止。

(2)插入排序,是需要假設已經有乙個有序的部分。然後有序部分與其他的數依次進行比較,這就涉及到當滿足條件時候,

需要將比較的值插入到有序部分裡面去,需要移動陣列,構成新的有序部分。

氣泡排序,選擇排序,插入排序

氣泡排序,選擇排序,插入排序 小規模的檔案以及基本有序的檔案,插入排序的效能比快速排序的效能更為有效一些,實際上,插入排序通常也做快速排序實現的一部分。1 氣泡排序 packagedatastrut public classbubblesort public voidinsert longvalue...

選擇排序 , 插入排序 , 氣泡排序

編寫 include void println int array,int len 列印給定長度的陣列 printf n void swap int array,int i,int j 交換陣列中兩個位置的元素 void selectionsort int array,int len o n n 對...

氣泡排序 插入排序 選擇排序

氣泡排序是每輪比較未排序部分,從第乙個元素開始找最值,比較相鄰數字,依次往後推移,最終將最值置於最右。假設有n個數,外迴圈迴圈n 1遍,內迴圈是n 1在減去當前是第幾次外迴圈。void bubble sort mytype a,int n n為陣列長度 插入排序是從第二個元素開始快取,然後向前比較,...