快速排序演算法1

2021-05-25 12:58:44 字數 707 閱讀 2526

package com.mianshi;

/*** describe: 快速排序演算法1(排序結果從小到大)

* create on: 2011-05-25

* @author sylor.liu

* @version 1.0

* @since jdk1.6

*/public class quicksort1

// 以a[r]為基準值,將該段資料拆分為兩段,左邊的比a[r]小,右邊的比a[r]大

// 且返回a[r]在該段資料中的下標(即拆分點)

private int patition(int a,int p, int r)

}// 從左到右,將後乙個比point大的值(即a[index])與a[r]互換值

swap(a,index,r);

return index;

}// 對陣列進行快速排序

public void qsort(int a, int p , int r)

}/**

* @param args

*/public static void main(string args) ;

quicksort1 qs = new quicksort1();

qs.qsort(a,0,a.length - 1);

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

}

排序1 快速排序演算法

經典快排思路 1.首先設定乙個分界值,通過該分界值將陣列分為左右兩個部分。2.左邊部分是小於等於分界值的資料,右邊部分是大於分界值的資料。3.左邊和右邊遞迴呼叫方法 設定分界值,劃分左邊的是小於等於分界值的資料,右邊是大於分界值的資料。舉例 4,6,2,0,3 1.選取最右邊的3作為分界值,劃分後陣...

排序演算法 1)快速排序

一 簡介 快速排序是c.r.a.hoare於1962年提出的一種劃分交換排序。它採用了一種分治的策略,通常稱其為分治法 divide and conquermethod 時間複雜度為o n logn 不穩定。基本思想是 1 先從數列中取乙個數作為基準數 2 進行分割槽,把把大於基準數的所有數放在它的...

排序演算法1 快速排序

今兒閒著,實現了下一維陣列快速排序演算法。快速排序分三個步驟 參考維基百科 1.選取乙個基準值。一般以第乙個為基準 2.重新排序,所有比基準小的都放在左邊,所有比基準大的都放在右邊。排序過後,該基準處於數列中間位置。分治法中的分,以基準值為中心,分為左右兩個分割槽 3.遞迴的按照1 2兩步驟排序左右...