快速排序法

2021-09-01 13:06:53 字數 559 閱讀 2787

/**

* 快速排序法

* @param arr 需排序的陣列

*/public void quicksort(int arr,int left,int right)

//交換找到的值

if(ltemp<=rtemp)

t=arr[ltemp];

arr[ltemp]=arr[rtemp];

arr[rtemp]=t;

f=arr[middle];

//交換完成後移動一位,繼續比較後面的值

ltemp=left;

rtemp=right;

}} //保證每次比較完成之後ltemp=rtemp+1

if(ltemp==rtemp)

system.out.print("快速排序結果為:");

for (int num : arr)

system.out.println();//換行

//此時左側資料全部小於右側資料,分別對左側及右側遞迴呼叫

if(leftif(ltemp}

快速排序法

一 快速排序演算法的基本特性 時間複雜度 o n lgn 最壞 o n 2 空間複雜度 o n lgn 不穩定。快速排序是一種排序演算法,對包含n個數的輸入陣列,平均時間為o nlgn 最壞情況是o n 2 通常是用於排序的最佳選擇。因為,基於比較的排序,最快也只能達到o nlgn c void q...

快速排序法

include stdafx.h include vos.h define table mid machine name midmachine define table midmach colname id id define table midmach colname ip ip define t...

快速排序法

快速排序法思想 在待排序的n個資料中取第乙個數字為基準數,陣列最前面放乙個標桿,陣列最後麵放乙個標桿,通過基準數和標桿 i,j 出的數進行比較,實現每次排序完時候,共三組數,不大於基準數 基準數 不小於基準數 舉例說明 5 i 4,6,8,3,9,2 j 基準數5 標桿 i 指向5位置,標桿 j 指...