快速排序 C語言描述

2021-08-13 08:26:01 字數 826 閱讀 6758

time limit: 15ms

memory limit: 65536kb

submit

statistic

discuss

problem description

山東理工大學有很多學生,當然也有很多美女,機械實驗班的學委(外號:大王八)很想找個女朋友,但他想找個身高和自己相配的女生做女朋友,現有理工大n個美女的身高資料,但由於n的值較大,為了盡快找到合適的女友,大王八想請你幫他完成這n個美女的身高排序,按降序排列。

input

輸入包括兩行,第一行是乙個正整數n(n<=1000000),表示理工大共n個美女。第二行有n個正整數分別表示n位美女的身高,每個正整數的值不會超過10^9。 (輸入資料之間會用空格隔開)

output

輸出只有一行,為這n個數的降序序列,數與數之間用空格隔開。

example input

5

1 3 2 5 4

example output

5 4 3 2 1

#include#include#define n 100005

int data[n];

void change(int * a,int * b)

void quicksort(int a,int start,int end)

return 0;

}

之前一直沒有想通一件事,導致快速排序一直存在越界問題,沒有考慮在傳值之前就有可能是start快速排序的主要思想是以乙個基準將整個序列劃分為大小兩部分,在分別對這兩部分實行快速排序,運用了遞迴的思想。

希爾排序 C語言描述

下面用個例子來說明一下 演算法編寫 for j 0 add j 0 j 依次增量排序 p k a temp 可以看出來,希爾排序是將陣列序列分成若干個子串行,然後再將子串行進行插入排序,等到序列基本有序時,最後進行一次全體插入排序。不穩定排序 可以從上面的那個例子看出,有兩個相同的數 48,但在最終...

快速排序C語言

就感覺,自己對這些個排序.至少,腦袋裡還沒有.哎,我老是不專心呢.加油吧.說說快速排序吧.這東西,原理就是不斷地將乙個陣列分成3部分.保持所有陣列處在這種狀態,最終完成排序.這些思想,還沒有掌握.加油吧,我還能說什麼?說些這個,呵呵.這段 起初不懂.後來,隨著不斷手工模擬,發現,採用了很多技巧.也難...

C語言 快速排序

1.快排是對氣泡排序的一種改進,在快速排序中,元素的比較和移動是從兩端向中間進行的,關鍵碼較大的元素一次就能從前面移動到後面,關鍵碼較小的元素一次就能從後面移動到前面,元素移動距離的較遠,從而減少了總的比較次數和移動次數 2.快速排序是基於分治法設計的,其分治策略是 劃分 選定乙個元素作為軸值,以軸...