排序方法1

2021-07-08 21:56:12 字數 572 閱讀 8549

在網上看到的一種遞迴排序方法,編寫了一下**感覺挺簡潔的:

/*** 對陣列某塊區域排序。方法:取基準值為排序區域最後乙個值,將比它大的值移到基準值後面。這樣就分為了兩個區域,再分別對兩個區域用同樣的方法,一直遞迴下去。注意:遞迴呼叫的效能不是很好,如果陣列太大可能會棧溢位

* @param array 排序陣列

* @param fromidx 起始位置

* @param toidx 終止位置

* */

private void sort(int array,final int fromidx,final int toidx)

int baseidx = toidx;//基準值排序後的最終位置

final int val = array[baseidx];

for(int i=fromidx;ival){

//需要移到baseidx後面

final int temp = array[i];

for(int j=i;jfromidx)

sort(array, fromidx, baseidx-1);

if(baseidx

演算法排序2 基本排序方法1

下一章下面的 基本都是使用comparable 介面,使用這個介面實現了主鍵的抽象,它給出了實現這個介面資料型別的物件的大小順序的定義。但是,不是每次都要使用這個介面,因為陣列元素的主鍵很可能只是每個元素的一小部分 概念 首先找到陣列中最小的元素,其次,將它和陣列的第乙個元素交換位置 如果第乙個元素...

排序演算法 歸併排序 1 非遞迴方法

有問題 歸併排序 非遞迴 基本排序 歸併 merge 排序法是將兩個 或兩個以上 有序表合併成乙個新的有序表,即把待排序序列分為若干個子串行,每個子串行是有序的。然後再把有序子串行合併為整體有序序列。歸併排序是建立在歸併操作上的一種有效的排序演算法。該演算法是採用分治法 divide and con...

幾種常用的排序方法1 插入排序

插入排序 插入排序是一種非常簡單的排序方法,其演算法思路是 將乙個記錄插入到已經排好的有序表中,從而得到乙個新的,記錄數加1的有序表。其實這種思想有點數學歸納法的味道,就是說 如果只有乙個數,那肯定是排好的 假設是有序的,那麼將a i 1 按照演算法插入其中,也肯定是乙個新的有序的數列,數列長度加1...