快速排序的概念和代码范例 Python

举报
悲恋花丶无心之人 发表于 2021/02/05 01:08:33 2021/02/05
【摘要】   目录 一、概念 二、代码 一、概念 交换排序的一种,递归实现,其核心是随意找一个值,然后比它小的放前面,比它大的放后面,一趟一趟找: 1.记录pivot = arr[i]; 2.从后往前找到第一个小于等于pivot的值,停在小值arr[j]的位置,则pivot对应位置arr[i]的值被这个小值替代; 3.从前往后找到第一个大于等于pivot的...

 

目录

一、概念

二、代码


一、概念

交换排序的一种,递归实现,其核心是随意找一个值,然后比它小的放前面,比它大的放后面,一趟一趟找:

1.记录pivot = arr[i]

2.从后往前找到第一个小于等于pivot的值,停在小值arr[j]的位置,则pivot对应位置arr[i]的值被这个小值替代;

3.从前往后找到第一个大于等于pivot的值,停在大值arr[i]的位置,则小值arr[j]被这个大值arr[i]替代;

4.重复2和3,若i >= j,则说明以pivot这个值的快速排序完毕,且arr[i]=pivot(i是在变的);

5.递归区间

文章来源: nickhuang1996.blog.csdn.net,作者:悲恋花丶无心之人,版权归原作者所有,如需转载,请联系作者。

原文链接:nickhuang1996.blog.csdn.net/article/details/108985810

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。