news 2026/4/16 19:55:01

快速排序算法: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/4/16 15:31:51

AI在工程调试中的能力边界_问题以及本质探讨

——从一次ROS2机器人系统调试经验谈起在使用AI辅助复杂系统调试&#xff08;如ROS2机器人开发&#xff09;时&#xff0c;许多人会发现一个反复出现的现象&#xff1a;提示词写得越长、细节越多&#xff0c;AI给出的方案看似越专业&#xff0c;却往往在关键环节失灵。问题不是…

作者头像 李华
网站建设 2026/4/16 16:39:11

Deepseek生成测试用例,分分钟的事啊!

在软件开发过程中&#xff0c;测试用例的设计和编写是确保软件质量的关键。 然而&#xff0c;软件系统的复杂性不断增加&#xff0c;手动编写测试用例的工作量变得异常庞大&#xff0c;且容易出错。 DeepSeek基于人工智能和机器学习&#xff0c;它能够依据软件的需求和设计文…

作者头像 李华
网站建设 2026/4/16 16:44:46

Multisim数据库未找到:教学场景下的核心要点

当Multisim打不开元件库&#xff1a;一场教学机房的“数据库失踪案”实录你有没有经历过这样的场景&#xff1f;一节《模拟电子技术实验》课即将开始&#xff0c;80名学生坐满机房&#xff0c;满怀期待地双击桌面上那个熟悉的蓝色图标——Multisim。结果&#xff0c;弹窗如雷贯…

作者头像 李华
网站建设 2026/4/16 16:40:53

Flink:处理函数之窗口处理函数ProcessWindowFunction

本文重点 前面的课程中我们学习了KeyedProcessFunction,本文我们将学习另外一种类型的处理函数----基于窗口的处理函数ProcessWindowFunction。 全窗口函数和处理函数之间的关系 ProcessWindowFunction既是处理函数又是全窗口函数。 ProcessAllWindowFunction既是处理函数又…

作者头像 李华
网站建设 2026/4/16 16:41:19

技术写作提效300%:用Anything-LLM辅助撰写文档

技术写作提效300%&#xff1a;用Anything-LLM辅助撰写文档 在技术文档的日常编写中&#xff0c;工程师常常陷入一种“信息沼泽”——面对堆积如山的API手册、设计文档和会议记录&#xff0c;光是找到某个接口的认证方式就要翻遍三四个系统。更不用说保持术语统一、避免重复劳动…

作者头像 李华
网站建设 2026/4/16 3:34:19

网球数据集3442张VOC+YOLO格式

网球数据集3442张VOCYOLO格式数据集格式&#xff1a;VOC格式YOLO格式压缩包内含&#xff1a;3个文件夹&#xff0c;分别存储图片、xml、txt文件JPEGImages文件夹中jpg图片总计&#xff1a;3442Annotations文件夹中xml文件总计&#xff1a;3442labels文件夹中txt文件总计&#x…

作者头像 李华