常用排序演算法

2021-08-19 23:08:48 字數 918 閱讀 7197

像冒泡一樣把最大/小的數浮上來。氣泡排序從小到大排序:

public void bubblesort(int arry)

system.out.print(arrays.tostring(arry));

}

在要排序的一組數中,選出最小的乙個數與第乙個位置的數交換;然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止。

public void selectsort(int arr)

}//在內層迴圈結束,也就是找到本輪迴圈的最小的數以後,再進行交換

if(i != k) }}

每步將乙個待排序的記錄,按其順序碼大小插入到前面已經排序的字序列的合適位置,直到全部插入排序完為止。

public void insertsort(int arry)

arry[j+1]=temp;

}system.out.print(arrays.tostring(arry));

}

快速排序從小到大排序:在陣列中隨機選乙個數(預設陣列首個元素),陣列中小於等於此數的放在左邊,大於此數的放在右邊,再對陣列兩邊遞迴呼叫快速排序,重複這個過程。

public void quick(int arry)

public void quicksort(int arry,int left,int right)

//遞迴劃分子串行

arr[left] =temp; //最後把temp賦值到中間

return left;

}

常用排序演算法

筆者最近學習演算法,學了很久也只弄懂了幾個排序演算法,在這裡曬一下下,作為以後參考之用。一 為什麼要研究排序問題 許多計算機科學家認為,排序演算法是演算法學習中最基本的問題,原因有以下幾點 l有時候應用程式本身需要對資訊進行排序,如為了準備客戶賬目,銀行需要對支票賬號進行排序 l很多演算法將排序作為...

常用排序演算法

一 簡單排序演算法 由於程式比較簡單,所以沒有加什麼注釋。所有的程式都給出了完整的執行 並在我的vc環境 下執行通過。因為沒有涉及mfc和windows的內容,所以在borland c 的平台上應該也不會有什麼 問題的。在 的後面給出了執行過程示意,希望對理解有幫助。1.冒泡法 這是最原始,也是眾所...

常用排序演算法

排序演算法 最好時間 平均時間 最壞時間 輔助空間 穩定性 直接插入排序 o n o n 2 o n 2 o 1 穩定 希爾排序 o n 1.3 o 1 不穩定 直接選擇排序 o n 2 o n 2 o n 2 o 1 不穩定 堆排序 o n x lbn o n x lbn o n x lbn o ...