博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第七届蓝桥杯第四题:快速排序
阅读量:6328 次
发布时间:2019-06-22

本文共 735 字,大约阅读时间需要 2 分钟。

快速排序

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

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

其思想是:先选一个“标尺”,

用它把整个队列过一遍筛子,

以保证:其左边的元素都不大于它,其右边的元素都不小于它。
这样,排序问题就被分割为两个子区间。
再分别对子区间排序就可以了。
下面的代码是一种实现,请分析并填写划线部分缺少的代码。
#include 
void swap(int a[], int i, int j)//将a[i]和a[j]调换位置{ int t = a[i]; a[i] = a[j]; a[j] = t;}int partition(int a[], int p, int r)//对a数组内的数进行排序{ int i = p; int j = r + 1; int x = a[p]; while(1){ //如果i
j的时候,排序完成),一直循环 while(i
x); if(i>=j) break; swap(a,i,j); } ______________________; //此时p>=j,用swap交换p,j数值 return j;//返回值为数组最后一个元素的下标}void quicksort(int a[], int p, int r){ if(p

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

第21行应填入:swap(a,p,j)

转载于:https://www.cnblogs.com/Friends-A/p/9309042.html

你可能感兴趣的文章
将centos7打造成桌面系统
查看>>
puppet基本配置
查看>>
Spring常用注解
查看>>
linux登录日志
查看>>
yum不能升级
查看>>
又见那风鸣
查看>>
网络公开课《八一建军节引发的Oracle数据库思考:虚拟私有数据库》
查看>>
Ubuntu下完全卸载Nginx
查看>>
点投网的安全性分析
查看>>
Repadmin
查看>>
服务器数据转换软件x-SBC
查看>>
DBCP性能测试
查看>>
Vim【命令】 - vim的基本快捷方式
查看>>
在VMware Workstation 8.0.1中安装苹果MAC OS X Lion(狮子)系统
查看>>
基于jQuery实现的拉开帷幕jQuery特效
查看>>
一键yum安装测试lamp平台(测试有效)rhel5
查看>>
如何优化zencart
查看>>
设计模式学习的思考
查看>>
VirtualBox + Linux 自动暂停恢复方法
查看>>
linux安装后的基本调优和安全设置
查看>>