C语言8种基本排序算法之快速排序

C语言8种基本排序算法之快速排序,第1张

C语言8种基本排序算法之快速排序

小白一天学一个算法系列,从逻辑、关键、算法动画、完整示例代码四个方面进行学习。

(注:冒泡排序示例代码有更详细的注解,共用代码后续算法示例代码中不再注释。)

逻辑:分而治之,最右边的数作为分割点,比分割点小的数放在一边,比分割数大的数放在另一边。

关键:构造递归函数,借助两个下标,一个下标记录存放位置,另一个标记出要存放的元素,从左到右比较。

静态交换过程:(静态更直观,动态的看得眼花)

 完整示例代码:

#include 
#include 
#include 
#define N 10
#define SWAP(a,b) {int tmp;tmp=a;a=b;b=tmp;}

//数组打印
void arr_print(int *arr)
{
	int i;
	for(i=0;i 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5611304.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存