当前位置:首页 > 生活百科

c语言快速排序算法(快速排序算法代码c语言)

栏目:生活百科日期:2025-01-21浏览:0

快速排序是一种不稳定排序,它的时间复杂度为O(n·lgn),最坏情况为O(n2);空间复杂度为O(n·lgn)。

这种排序方式是对于冒泡排序的一种改进,它采用分治模式,将一趟排序的数据分割成独立的两部分,其中一组数据的每个值都小于另一组。每一趟在进行分类的同时实现排序。

其中每一趟的模式通过设置key当基准元素,key的选择可以是数据的第一个,也可以是数据的最后一个。这里以每次选取数据的第一个为例:

另外,关于C/C++编程学习,小编给大家提供一个学习.交.流群,欢迎到访:569268376

具体代码实现:

#include&<stdio.h&>

#define N 6

int fun(int arr[],int low,int high)

{

int key;

key=arr[low];

while(low&<high)

{

while(low&<high &&&& arr[high]&>=key)

high&–;

if(low&<high)

arr[low++]=arr[high];

while(low&<high &&&& arr[low]&<=key)

low++;

if(low&<high)

arr[high&–]=arr[low];

}

arr[low]=key;

return low;

}

void quick_sort(int arr[],int start,int end)

{

int pos;

if(start&<end)

{

pos=fun(arr,start,end);

quick_sort(arr,start,pos-1);

quick_sort(arr,pos+1,end);

}

}

int main()

{

int i;

int arr[N]={32,12,7,78,23,45};

for(i=0;i&<N;i++)

{

printf(&“%d &“,arr[i]);

}

printf(&“n&”);

quick_sort(arr,0,N-1);

for(i=0;i&<N;i++)

{

printf(&“%d &“,arr[i]);

}

return 0;

}

“c语言快速排序算法(快速排序算法代码c语言)” 的相关文章

小米儿童电话手表怎么样(分享米兔儿童电话手表使用体验

每天孩子出行,作为家长最担心的就是其安全。由于孩子自控力差,配手机的话容易上网成瘾,被网络上不健康内容荼毒。思来想去,最后从小米商城入手了“米兔儿童电话手表4C...

100元的智能手机能用吗(百元智能手机推荐)

手机市场有一个十分有趣的现象:从厂商到数码爱好者,几乎所有人都在关注、推荐高端手机,但据统计至少30%的手机用户还是一直在买千元档机型,而Redmi在这一价位可...

2023,百度真正王者归来

配图来自Canva可画自从去年收购YY直播以及开启全面移动化战略以来,百度的基本面开始得到全面改善。与此同时,凭借多年积累的AI技术实力,百度宣布造车的举动也为...

dsp广告平台排名,dsp平台广告数量是多少

如果说当前有什么趋势是所有人都无法忽视的,那就是移动化。不需要砖家预测,看看正低着头在手机上阅读这篇文章的你就知道了。根据eMarketer的报告,2014年中...

java基础语法要学多久(java基础代码大全)

流程控制语句的语法吧~什么是流程控制语句?流程控制语句在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果有直接...

外汇交易行情软件排行(最好用的外汇行情软件推荐)

在投资市场众多的交易产品之中,只有外汇的交易对象是利用不同国家币种之间的汇率变化来获得盈利的,这需要投资者对于国际形式有着敏感而准确的判断。尽管外汇市场的吸引力...

php后台开发框架(php后端和java后端的区别)

ApiAdmin4.0是一个前后端完全分离的项目,前端采用Vue构建,如需要可视化配置的请移步:ApiAdmin-WEB快速安装第一步:安装代码composer...

js二维数组定义初始化(初始化的三种方法总结)

前面给大家带来了大数据开发基础的一维数组的了解,趁热打铁,就为大家带来了二维数组。二维数组相较于一维数组要难一点,但也不会难到让人望而却步的程度,只要一维数组基...

产品的价值体现在哪里(最主要的5个方面)

产品价值:百度百科是这么解释的:产品价值是由产品的功能、特性、品质、品种与式样等所产生的价值。也有一些人把产品价值用公式表达出来:实体产品价值=产品数*单个产品...

小米什么时候出新款,小米手机2020新款上市时间

近日,有数码博主曝光了小米(含Redmi)2020年新机发布的排期时间。根据曝光的信息来看,该排期是包括小米/红米国内和国外新机的发布时间。除了已于2月发布的P...