quickSort

来源:互联网 发布:c语言头文件大全 编辑:程序博客网 时间:2024/06/06 04:27
今天刚学的
#include<stdio.h>int a[1000];void swap(int x, int y){    int tmp;    tmp=a[x];    a[x]=a[y];    a[y]=tmp;}void quickSort(int left, int right){    if(left>right)                         return ;    int i,j;    int tmp=a[left];//每次找一个基准数,将比他大的放在一边    i=left;         //比他小的放在另一边    j=right;    while(i!=j)    {        while(a[j]>=tmp&&i<j)            j--;        swap(i,j);        while(a[i]<=tmp&&i<j)            i++;        swap(i,j);    }    quickSort(left,i-1);    quickSort(i+1,right);}int main(){    int n;    scanf("%d",&n);    for(int i=0;i<n;i++)        scanf("%d",&a[i]);    quickSort(0,n-1);    for(int i=0;i<n;i++)        printf("%d ",a[i]);    return 0;}