Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 1.12.4 Швидке сортування - Програмування С, С++теорія та практика (частина 1) - Studbook

Програмування С, С++теорія та практика (частина 1)

1.12.4 Швидке сортування

Швидке сортування полягає в тому, що множина елементів В { кі, к2, ..., кп } перетворюється на множину Ві, {кі}, В2, де Ві - підмножина В з елементами, не більшими за кі, а В2 - підмножина В з елементами більшими кі. Причому елемент кі після розбиття множини В буде перебувати на потрібному місці. Далі до множин Ві і В2 знову застосовують впорядкування швидким сортуванням.

Час роботи алгоритму швидкого сортування в гіршому випадку складає О(п2), але на практиці цей алгоритм виявляється одним із найшвидших.

гіоиЬ1е * диіск(гіоиЬ1е *з,іп£ 1ом,іп£ Ьі)

{

йоиЬ1е сп£,аих; іп£ і,І; і£ (Ьі>1ом)

{

і=1ом;

3=Ьі; спї=з[і]; мЬ±1е(і < з)

{

і£ (з [і+1]<=сп£)

{

з[і]=з[і+1]; з[і+1]=сп£; і++ ;

}

е1зе

{

і£ (з []]<=спЬ)

{

аих=з[]]; з[]]=з[і+1]; з [і+1]=аих;

}

і--;

}

}

диіск(з,1ом,і-1); диіск(з,і+1,Ьі);

}

геїигп(з);

}

 

63