标题:快速排序。
以下代码可以从数组a[]中找出第k小的元素。

它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。

请仔细阅读分析源码,填写划线部分缺失的内容。
int quick_select(int a[], int l, int r, int k) {int p = rand() % (r - l + 1) + l;int x = a[p];{int t = a[p]; a[p] = a[r]; a[r] = t;}int i = l, j = r;while(i < j) {while(i < j && a[i] < x) i++;if(i < j) {a[j] = a[i];j--;}while(i < j && a[j] > x) j--;if(i < j) {a[i] = a[j];i++;}}a[i] = x;p = i;if(i - l + 1 == k) return a[i];if(i - l + 1 < k) return quick_select( _____________________________ ); //填空else return quick_select(a, l, i - 1, k);
}int main()
{int a[] = {1, 4, 2, 8, 5, 7, 23, 58, 16, 27, 55, 13, 26, 24, 12};printf("%d\n", quick_select(a, 0, 14, 5));return 0;
}

 

注意:只填写划线部分缺少的代码,不要抄写已经存在的代码或符号。
解答
a,i+1,r, k-(i-l+1)

转载于:https://www.cnblogs.com/candyYang/p/10520162.html

2018年第九届蓝桥杯 第五题:快速排序 (满分9分)相关推荐

  1. 7.python解答2018年第九届蓝桥杯省赛C++A组 分数

    7.python解答2018年第九届蓝桥杯省赛C++A组 分数 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项,求这个和是多少,结果 ...

  2. 关于2018年第九届蓝桥杯省赛(江苏赛区)

    为啥到现在才写呢...就是懒,是真的懒.题也没刷几个 (下面题目的超链接转自这里,并不是本人解法..只是因为有题目还有题解) 4.1举行的蓝桥杯也可以说是"愚人杯"了 早早的跟同学 ...

  3. 2018年第九届蓝桥杯 JavaB组省赛 刷题思路及答案

    前言 本人是二本院校大二的计算机系学生,已经报名了下一届的蓝桥杯省赛,整个寒假学习了很多算法知识,我是看<算法很美>这个课程学习算法的,一套学习下来确实受益匪浅,视频在b站上面都有. 此前 ...

  4. 2018年第九届蓝桥杯省赛C/C++ A组(蒻鸡自己写的,看不上勿喷,自己的一点想法)

    第一题 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + -. 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似: 3/2 当然,这只是加了前 ...

  5. 2018年第九届蓝桥杯 - 省赛 - C/C++大学A组 - F.航班时间

    航班时间 [问题背景] 小h前往美国参加了蓝桥杯国际赛.小h的女朋友发现小h上午十点出发,上午十二点到达美国,于是感叹到"现在飞机飞得真快,两小时就能到美国了". 小h对超音速飞行 ...

  6. 2018年第九届蓝桥杯A组省赛

    A.分数(5分) 答案:1048575/524288 试题 A: 分数 本题总分:5 分 [问题描述] 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有 ...

  7. 2018年第九届蓝桥杯B组 国赛

    一.换零钞 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. X 星球的钞票的面额只有:100 元,5 元,2 元,1 元,共 4 种. 小明去 X 星旅游,他手里只 ...

  8. 2018年第九届蓝桥杯—C/C++程序设计省赛解题

    2018-4-14 感觉蓝桥杯的风格变了,以前都是暴力搜索类的题目比较多,然而这次并不是- 1.第几天 2000年的1月1日,是那一年的第1天. 那么,2000年的5月4日,是那一年的第几天? 注意: ...

  9. 2018年第九届蓝桥杯B组第四题:摔手机题解

    摔手机 摔手机 动态规划  在蓝桥杯的时候遇到一次 当时没有做对  看了题解也没明白  如今再次遇到这个类似的题目 于是拿出来补补吧 摔手机题目如下: 星球的居民脾气不太好,但好在他们生气的时候唯一的 ...

最新文章

  1. matlab pause
  2. android设备不自带sqlite3问题(sqlite3 not found)
  3. 中年程序员,有哪些关于保护身体健康的知识分享给同行的你?
  4. 什么是模拟光端机?模拟光端机优缺点介绍!
  5. java台球游戏设计原理_Java实现简单台球游戏
  6. __setattr__,__getattr__,__getattribute__
  7. 2021年四川高考成绩在哪里查询,2021年四川高考成绩查询系统入口,四川高考成绩怎么近查询系统...
  8. dg修改归档目录 oracle_Oracle RAC归档管理: 修改归档位置(FRA和其他位置)
  9. effective c++:对象的赋值运算
  10. 【路径规划】基于matlab改进的粒子群算法路径规划【含Matlab源码 491期】
  11. Linux目录--proc详解
  12. 嵌入式linux学习笔记(2)
  13. 一起来学习Windows Mobile 6.5
  14. 201671030108 +词频统计软件项目报告
  15. UI设计的色彩搭配及原则
  16. HDU-1869 六度分离 (矩阵的幂运算求通路个数)
  17. 开博尔android播放器,你看!你细看!开博尔Q50播放器本地和NAS文件管理方式详解...
  18. php throw,PHP的Try, throw 和 catch简单用法
  19. 关于查看nginx的访问量的部分总结
  20. 怎么计算中国股市分红最高的股票?什么是股息率?--使用python和tushare获取分红最高的股票

热门文章

  1. 计算机视觉如何给企业带来不同?
  2. 三运放差分放大电路分析_三运放差分放大电路
  3. 《极乐迪斯科》:一趟充满新奇的旅程 ,一款里程碑式的 CRPG
  4. 以CSGO为例 分析不同网络延时下FPS游戏同步的实现
  5. 游戏寻路中 A* 算法的改进
  6. 利用超链接<a>标签的【href】与【onclick】的优先级做提示窗判断,降低删除误操作次数
  7. sys.dbms_transaction.local_transaction_id出现的问题
  8. 测试工具:Windows下超强日志工具BareTail
  9. URL概念及与URL的区别
  10. Html Dom 的nodetype解析 转自“sweting”