软考真题
第160题
阅读以下说明和代码,填补代码中的空缺,将解答填入答题纸的对应栏内。

【说明】
下面的程序利用快速排序中划分的思想在整数序列中找出第k小的元素(即将元素从小到大排序后,取第k个元素)。

对一个整数序列进行快速排序的方法是:在待排序的整数序列中取第一个数作为基准值,然后根据基准值进行划分,从而将待排序的序列划分为不大于基准值者(称为左子序列)和大于基准值者(称为右子序列),然后再对左子序列和右子序列分别进行快速排序,最终得到非递减的有序序列。

例如,整数序列“19,12,30,11,7,53,78,25"的第3小元素为12。整数序列“19,12,7,30,11,11,7,53,78,25,7"的第3小元素为7。

函数partition(int a[],int low,int high)以a[low]的值为基准,对a[low],a[low+1],…,a[high]进行划分,最后将该基准值放入a[i](low≤i≤high),并使得a[low],a[low+1],...,a[i-1]都小于或等于a[i],而a[i+1],a[i+2],...,a[high]都大于a[i]。

函教findkthElem(int a[],int startIdx,int endIdx,inr k)在a[startIdx],a[startIdx+1],...,a[endIdx]中找出第k小的元素。
【问题:3.1】【代码】


第4章数据结构与算法
正确答案:
你的答案:
请先在App中激活(应用市场搜“软考真题”)
知识点:
试卷:
2016年 下半年 下午试卷 案例

笔记

请先在App中激活(应用市场搜“软考真题”)

2019-05-23


冬冬啊@

请先在App中激活(应用市场搜“软考真题”)

2021-11-05