快速排序

来源:互联网 发布:云计算与大数据处理 编辑:程序博客网 时间:2024/06/03 19:43
//快排的C实现#include <stdio.h>void swap(int *a,int *b){int temp;temp = *a;*a = *b;*b = temp;}int partition(int a[],int p,int r){int x = a[r];int i = p-1;int j;for(j = p; j < r; j++){if(a[j] <= x){i++;swap(&a[i],&a[j]);}}swap(&a[i+1],&a[r]);return i+1;}void quickSort(int a[],int p,int r){int q;if(p<r){q = partition(a,p,r);quickSort(a,p,q-1);quickSort(a,q+1,r);}}int main(){int i;int a[12] = {23,343,45,-546,-345,45,0,45,45,355,45,34};quickSort(a,0,11);//printfor(i=0; i<12; i++){printf("%d ",a[i]);}return 0;}