[c语言]冒泡排序-------对折判断法

void quickSort(int s[],int left,int right)
    {
        int i,j,t,temp;
        if (left>right)
            return;
        
        temp=s[left];
        i=left;
        j=right;
        
        while (i != j)
        {
            while (s[j]>=temp && i < j)
                j--;
            while (s[i]<=temp && i < j)
                i++;
            if(i < j)
            {
                t = s[i];
                s[i]=s[j];
                s[j]=t;
            }
            
        }
        s[left]=s[i];
        s[i]=temp;
        
        quickSort(s,left,i-1);
        quickSort(s,i+1,right);
    }
    int main() {
        
        int a[10],i;
        for (i=0;i < 10; i++)
            scanf("%d",&a[i]);
        quickSort(a,0,9);
        for(i=0;i<10;i++)
            printf("%d ",a[i]);
        printf("\n");
    
    
    return 0;
}

你可能感兴趣的:(c语言)