快速排序法

2021-07-10 16:23:45 字數 649 閱讀 7577

package com.sort;

/** * 快排類

* 思路:分割和遞迴

* 分割:將比基準數(第乙個)小的放左邊,大的放右邊

* 遞迴:快排方法下呼叫分割,再快排。不斷遞迴

* @author maggie

* */

public class quicksort

} /**

* 第一種分割方法

* 分割:將比基準數(第乙個)小的放左邊,大的放右邊

* @param array

* @param left

* @param right

* @return 返回分割點

*/public int partition(int array, int left, int right)

array[left] = array[right];

// 左邊:找呀找,終於找到乙個比基準數字大的

while(left < right && base_num >= array[left])

array[right] = array[left];

} array[left] = base_num;

return left;

}}

快速排序法

一 快速排序演算法的基本特性 時間複雜度 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 指...