排序在各种场合经常被用到。

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

其思想是:先选一个“标尺”,用它把整个队列过一遍筛子,以保证:其左边的元素都不大于它,其右边的元素都不小于它。

这样,排序问题就被分割为两个子区间。

再分别对子区间排序就可以了。

下面的代码是一种实现,请分析并填写划线部分缺少的代码。

#include <stdio.h>void swap(int a[], int i, int j){int t = a[i];a[i] = a[j];a[j] = t;}int partition(int a[], int p, int r){int i = p;int j = r + 1;int x = a[p];while(1){while(i<r && a[++i]<x);while(a[--j]>x);if(i>=j)break;swap(a,i,j);}____________swap(a,p,j);__________;return j;}void quicksort(int a[], int p, int r){if(p<r){int q = partition(a,p,r);quicksort(a,p,q-1);quicksort(a,q+1,r);}}int main(){int i;int a[] = {5,13,6,24,2,8,19,27,6,12,1,17};int N = 12;quicksort(a, 0, N-1);for(i=0; i<N; i++)printf("%d ", a[i]);printf("\n");return 0;}
C++

注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。

历届试题 快速排序:相关推荐

  1. 算法笔记_183:历届试题 九宫重排(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成 ...

  2. 【蓝桥杯】历届试题 地宫取宝

     历届试题 地宫取宝 时间限制:1.0s   内存限制:256.0MB      问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口 ...

  3. 历届试题 买不到的数目

    历届试题 买不到的数目   时间限制:1.0s   内存限制:256.0MB 问题描述 小明开了一家糖果店.他别出心裁:把水果糖包成4颗一包和7颗一包的两种.糖果不能拆包卖. 小朋友来买糖的时候,他就 ...

  4. java 核桃的数量,[Java教程]【蓝桥杯】历届试题 核桃的数量

    [Java教程][蓝桥杯]历届试题 核桃的数量 0 2016-03-31 23:33:50 历届试题 核桃的数量 时间限制:1.0s   内存限制:256.0MB问题描述 小张是软件项目经理,他带领3 ...

  5. 试题 历届试题 包子凑数(dp)

    试题 历届试题 包子凑数 资源限制 时间限制:1.0s 内存限制:256.0MB 0x00 问题描述 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包 ...

  6. 试题 历届试题 幸运数(二分)

    试题 历届试题 幸运数 资源限制 时间限制:1.0s 内存限制:256.0MB 题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成 . 首先从1开始写出自然 ...

  7. 试题 历届试题 翻硬币(贪心)

    试题 历届试题 翻硬币 资源限制 时间限制:1.0s 内存限制:256.0MB Work hard,Play harder. 问题描述 小明正在玩一个"翻硬币"的游戏. 桌上放着排 ...

  8. 试题 历届试题 买不到的数目(dp/数学)

    试题 历届试题 买不到的数目 资源限制 时间限制:1.0s 内存限制:256.0MB $Daily English 曾几何时,我流连梦境,心比天高,人生充满希望. I dreamed a dream ...

  9. 历届试题 打印十字图(模拟)

    试题 历届试题 打印十字图 资源限制 时间限制:1.0s 内存限制:256.0MB $Daily English: 我想要提醒这个星球上的人类唯一的一件事就是:我们 依赖地球母亲生存. The onl ...

最新文章

  1. OpenCV中的全景拼接例程
  2. Java常量池解析与字符串intern简介
  3. 关注,粉丝关系的数据库设计
  4. 高级线性表——静态链表(最全静态链表解读)
  5. linux定时任务_从零开始学Linux运维|41.定时任务crontab
  6. Codeforces Round #704 (Div. 2) E. Almost Fault-Tolerant Database 思维
  7. LeetCode 933.最近的请求次数
  8. [C# 基础知识系列]专题十四:深入理解Lambda表达式
  9. Linux-文件和目录操作命令
  10. linuxoracle静默安装应答文件修改_Windows7重要更新补丁安装包 2020.01.17
  11. ios端 ajax url的一个小问题
  12. 随机数练习1,和电脑比roll点
  13. 在CentOS8.3上安装Vlmcsd-1113搭建Kms服务
  14. 黑莓9930/9970/99xx一键刷机包
  15. Python爬虫获取租房数据
  16. bvlc_googlenet.caffemodel模型及描述文件地址
  17. 公网与私网地址转换——NAT技术的使用小技巧,超简单!!!
  18. 使用Photoshop画一个圆锥体
  19. PDF格式分析(一)简介
  20. pandas批量拆分、合并EXCEl

热门文章

  1. [zz]struct epoll_event
  2. 单片机I/O口推挽输出与开漏输出的区别
  3. WINCE6.0系统调用
  4. python 编译器重构_Python之父考虑重构Python解释器
  5. 转载OleDb操作Access数据库:新增记录时获取自动编号的主键值
  6. 【Unity】Protobuf的使用与常见问题
  7. CMD命令名详细大全
  8. linux自学视频资料第四讲:目录
  9. InfoPath表单实战
  10. GRIDVIEW控件删除数据前如何给予客户端提示