news 2026/3/11 7:53:54

快速排序算法:c++

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
快速排序算法:c++

参考视频:

数据结构合集 - 快速排序(算法过程, 效率分析, 稳定性分析)_哔哩哔哩_bilibili

快速排序代码(C/C++实现) 细到爆炸!_哔哩哔哩_bilibili

核心:

任取一个元素作为枢轴,比枢轴大的去左边,比枢轴小的去右边,递归处理左右两边,直到空一个或者为空

题目1

6-13 数据结构考题 - 快速排序 - 划分函数

分数 25

作者 陈皓

单位 合肥师范学院

用顺序表作存储结构,输入一组数据,用快速排序法对其进行排序。

顺序表的类型描述:

#define MAXSIZE 50 // MAXSIZE为最大数据元素数目 typedef int ElemType; typedef struct { ElemType r[MAXSIZE +1]; // r[0]闲置或另作它用 int length; }SqList;

函数接口定义:

下面给出了快速排序 - 划分函数的大部分内容,但缺少了一部分(以下划线____标识出来的部分)。

请先将以下代码中画横线的部分补充完整,然后将完整的函数Partition提交系统,完成题目要求的功能。

int Partition(SqList &L,int low,int high) { int i,j; L.r[0]=L.r[____]; while ( ____ ) { while ( low<high && L.r[____]>=L.r[0] ) high--; L.r[____]=L.r[____]; while ( low<high && L.r[____]<=L.r[0] ) low++; L.r[____]=L.r[____]; } L.r [____] =L.r[0]; return low; }

int Partition(SqList &L,int low,int high)快速排序算法中,对 顺序表low ~ high范围内的元素进行划分的函数

测试主程序样例:

int main () { SqList L; int low,high; create(L); low=1; high=L.length; QuickSort(L,low,high); print(L); return 0; }

输入格式:

第一行输入一个整数n,表示顺序表的元素个数。

第二行输入原始序列的n 个整数。

输出格式:

在一行中输出从小到大排序后的结果,数字间以1个空格分隔,行末不得有多余空格。

输入样例:

8 19 -18 13 26 275 26 7 35

输出样例:

-18 7 13 19 26 26 35 275

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

C++ (g++)

int Partition(SqList &L,int low,int high){ int i,j; L.r[0]=L.r[low]; while(low<high){ while(low<high&&L.r[high]>=L.r[0])high--; L.r[low]=L.r[high]; while(low<high&&L.r[low]<=L.r[0])low++; L.r[high]=L.r[low]; } L.r[low]=L.r[0]; return low; }

题目二

6-14 数据结构考题 - 快速排序 - 主调函数

分数 25

作者 陈皓

单位 合肥师范学院

用顺序表作存储结构,输入一组数据,用快速排序法对其进行排序。

顺序表的类型描述:

#define MAXSIZE 50 // MAXSIZE为最大数据元素数目 typedef int ElemType; typedef struct { ElemType r[MAXSIZE +1]; // r[0]闲置或另作它用 int length; }SqList;

函数接口定义:

下面给出了快速排序主调函数的大部分内容,但缺少了一部分(以下划线____标识出来的部分)。

请先将以下代码中画横线的部分补充完整,然后将完整的函数QuickSort提交系统,完成题目要求的功能。

void QuickSort(SqList &L, int low, int high) { int i; if (low<high ) { i=Partition(L, ____, ____ ); QuickSort(L, ____, ____ ); QuickSort(L, ____ , ____ ); } }

测试主程序样例:

int main () { SqList L; int low,high; create(L); low=1; high=L.length; QuickSort(L,low,high); print(L); return 0; }

输入格式:

第一行输入一个整数n,表示顺序表的元素个数。

第二行输入原始序列的n 个整数。

输出格式:

在一行中输出从小到大排序后的结果,数字间以1个空格分隔,行末不得有多余空格。

输入样例:

8 19 -18 13 26 275 26 7 35

输出样例:

-18 7 13 19 26 26 35 275

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

C++ (g++)

void QuickSort(SqList &L, int low, int high){ int i; if(low<high){ i=Partition(L,low,high); QuickSort(L,low,i-1); QuickSort(L,i+1,high); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/9 5:49:11

使用这个插件,fiddler抓包直接生成httprunner脚本

har2case可以将.har文件转化成yaml格式或者json格式的httprunner的脚本文件&#xff0c;生成.har格式文件可以借助 fiddler 或 Charles 抓包工具 友情提示&#xff1a; 录制脚本&#xff0c;只是一个过渡&#xff0c;从0到1的一个过渡&#xff0c;如果让你直接写脚本&#xf…

作者头像 李华
网站建设 2026/3/9 5:49:01

如何用Prometheus监控Anything-LLM服务状态?

如何用Prometheus监控Anything-LLM服务状态&#xff1f; 在企业纷纷将大语言模型&#xff08;LLM&#xff09;引入知识管理、客户服务和内部协作的今天&#xff0c;一个看似简单的问题却逐渐浮现&#xff1a;我们如何确保这些“聪明”的AI系统不仅功能正常&#xff0c;还能稳定…

作者头像 李华
网站建设 2026/3/9 5:48:50

如何通过Anything-LLM提升客户文档响应效率?

如何通过 Anything-LLM 提升客户文档响应效率&#xff1f; 在当今企业知识资产爆炸式增长的背景下&#xff0c;客服与技术支持团队正面临前所未有的挑战&#xff1a;如何从成百上千页的产品手册、API 文档和 FAQ 中&#xff0c;快速、准确地找到答案&#xff1f;传统关键词搜索…

作者头像 李华
网站建设 2026/3/11 7:16:35

如何通过SEO引流吸引企业用户试用Anything-LLM?

如何通过SEO引流吸引企业用户试用Anything-LLM&#xff1f; 在AI工具遍地开花的今天&#xff0c;一个开源项目能不能“出圈”&#xff0c;早已不再只取决于技术多先进。哪怕你用的是最新的RAG架构、支持Llama3和GPT-4双引擎、还能一键私有化部署——如果没人知道它存在&#xf…

作者头像 李华
网站建设 2026/3/10 9:03:41

中小企业的AI转型利器:私有化部署Anything-LLM

中小企业的AI转型利器&#xff1a;私有化部署Anything-LLM 在企业知识管理的日常中&#xff0c;一个再常见不过的场景是&#xff1a;新员工反复询问“年假怎么算”&#xff0c;HR翻出存在U盘里的《员工手册》截图发过去&#xff1b;技术团队查找某个接口文档&#xff0c;要先在…

作者头像 李华
网站建设 2026/3/9 5:48:17

开源大模型新玩法:基于Anything-LLM的技术博客生成实战

开源大模型新玩法&#xff1a;基于 Anything-LLM 的技术博客生成实战 在今天这个信息爆炸的时代&#xff0c;每个人都在面对越来越多的文档、笔记、手册和资料。开发者要查 API 文档&#xff0c;产品经理要翻需求记录&#xff0c;研究人员要整理论文摘要——但真正能快速找到答…

作者头像 李华