2016第七屆藍橋杯C B組第四題 快速排序

2021-08-17 08:35:52 字數 623 閱讀 1173

/*快速排序

排序在各種場合經常被用到。

快速排序是十分常用的高效率的演算法。

其思想是:先選乙個「標尺」,

用它把整個佇列過一遍篩子,

以保證:其左邊的元素都不大於它,其右邊的元素都不小於它。

這樣,排序問題就被分割為兩個子區間。

再分別對子區間排序就可以了。

下面的**是一種實現,請分析並填寫劃線部分缺少的**。

*/#include

void swap(int a, int i, int j)

int partition(int a, int p, int r)

swap(a,p,j); // 填空

return j;

}void quicksort(int a, int p, int r)

}int main()

; int n = 12;

quicksort(a, 0, n-1);

for(i=0; iprintf("%d ", a[i]);

printf("\n");

return0;}

//注意:只填寫缺少的內容,不要書寫任何題面已有**或說明性文字。

2023年第七屆藍橋杯C B組F題

如圖,如下的10個格仔,填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。這道題也是組合問題啦 next permutation解決,分分鐘啊哈哈哈 就是judge的時候有點點麻煩,但是很直觀,超簡單的啦 我標記的時候是這...

2023年第七屆藍橋杯C B組G題

如圖所示,有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,如圖所示,粉紅色所示部分就是合格的剪取。解題思路就是dfs出5個數出來,也就是12個數選5個數。再判斷連通性,判斷是否連通。模擬乙個矩形出來。找到行和列與填的數字的關係 值的行等於 n...

2023年第七屆藍橋杯C B組H題

四平方和定理,又稱為拉格朗日定理 每個正整數都可以表示為至多4個正整數的平方和。如果把0包括進去,就正好可以表示為4個數的平方和。比如 5 0 2 0 2 1 2 2 2 7 1 2 1 2 1 2 2 2 符號表示乘方的意思 對於乙個給定的正整數,可能存在多種平方和的表示法。要求你對4個數排序 0...