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

来源:国外服务器 在您之前已被浏览:1 次
导读:目前正在解读《c语言快速排序算法(快速排序算法代码c语言)》的相关信息,《c语言快速排序算法(快速排序算法代码c语言)》是由用户自行发布的知识型内容!下面请观看由(国外主机 - www.2bp.net)用户发布《c语言快速排序算法(快速排序算法代码c语言)》的详细说明。
笨笨网美国主机,w ww.2 b p .n e t

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

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

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

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

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

另外,关于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语言)
笨笨网美国主机,w ww.2 b p .n e t
提醒:《c语言快速排序算法(快速排序算法代码c语言)》最后刷新时间 2025-03-21 11:16:31,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《c语言快速排序算法(快速排序算法代码c语言)》该内容的真实性请自行鉴别。