快速排序 pat1101

2021-09-26 14:40:07 字數 435 閱讀 2687

#include#include#include#includeusing namespace std;

const int maxv = 1e5 + 5;

//且本體不能硬排,

//多個for套for 的求出第i個的左邊最大,右邊最小會超時

int main()

if(b[i]>maxd)//沒找到 ,但是要更新最大值用於下次比較

maxd = b[i];

}printf("%d\n",num);

for(int i = 0; i < num; i++)

printf("\n");//0個主元也要換行,,沒有這個的話會有乙個錯誤格式錯誤。

//因為當,沒有主元的時候,假如沒有這一行,就只輸出 0 沒有下一行

return 0;

}

PAT甲級真題1101 快速排序(DP)

在著名的快速排序中,有乙個經典的過程叫做劃分。在此過程中,我們通常選取其中乙個元素作為分界值。將小於分界值的元素移到其左側,將大於分界值的元素移到其右側。給定 n個不同的正整數進行過一次劃分後的排列情況。請你判斷,共有多少元素可能是此次劃分的分界值。例如,n 5,各元素排列為 1,3,2,4,5,則...

PAT B1045 A1101 快速排序

題目 著名的快速排序演算法裡有乙個經典的劃分過程 我們通常採用某種方法取乙個元素作為主元,通過交換,把比主元小的元素放到它的左邊,比主元大的元素放到它的右邊。給定劃分後的 n 個互不相同的正整數的排列,請問有多少個元素可能是劃分前選取的主元?例如給定 排列是1 3 2 4 5。則 因此,有 3 個元...

PAT乙級 快速排序

著名的快速排序演算法裡有乙個經典的劃分過程 我們通常採用某種方法取乙個元素作為主元,通過交換,把比主元小的元素放到它的左邊,比主元大的元素放到它的右邊。給定劃分後的 n 個互不相同的正整數的排列,請問有多少個元素可能是劃分前選取的主元?例如給定 n 5 排列是1 3 2 4 5。則 因此,有 3 個...