C语言中快速排序法(从小到大)实现过程详细分析

快速排序法:实际上是对冒泡排序法的一种改进。
算法:是描述求解问题方法的操作步骤集合。
快速排序法这一算法的基本思想是:首先设定一个分界值(一般是数组中的起始元素值),通过该分界值将数组的元素值分成左右两部分(这里是把数组元素值从小到大排序,所以将大于分界值的数组元素值分到右边,小于分界值的数组元素值分到左边)。同理,分别对左右两部分的数组元素值重复上述步骤:设定起始元素值为分界值,将大于分界值的数组元素值分到右边,小于分界值的数组元素值分到左边,最后实现数组元素值从小到大排序。上述过程实际上就是算法的递归实现。
接下来看具体实现代码:
用快速排序法对数组元素值2,4,7,3,1,5,9,6,8进行从小到大排序

#include <stdio.h>

typedef int KeyType;                      //用新的类型名KeyType表示整型

typedef struct
{
   
	KeyType key;
}DataType;                                //用DataType表示结构体类型

void QuickSort(DataType a[],int low,int high)
{
   
	int i=low,j=high;
	DataType temp=a[low];                 //取数组中第一个数据元素为分界值

	while(i<j)                       
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日,当刮目相待

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值