c语言实现快速排序

来源:互联网 发布:微信点菜系统源码 编辑:程序博客网 时间:2024/06/18 01:30

快速排序时间复杂度,最好:O(n*logn)   平均:O(n*logn)   最好:O(n^2)

是不稳定排序算法。

#include <stdio.h>void quick_sort(int *a, int l, int h){int i, j, x;i = l, j = h;while(i < j){x = a[i];while(i < j && a[j] >= x)j--;if(i < j)a[i++] = a[j];while (i < j && a[i] < x)i++;if(i < j)a[j--] = a[i];a[i] = x;quick_sort(a,l,i-1);quick_sort(a,i+1,h); }}int main(){int n, a[n];scanf("%d", &n);for(int i = 0; i < n; i++)scanf("%d", &a[i]);quick_sort(a,0,n-1);for(int i = 0; i < n; i++)printf("%d ",a[i]);return 0;}

 

0 0
原创粉丝点击