快速排序 C语言版

    xiaoxiao2021-12-14  19

    #include<stdio.h> void QuickSort(int s[],int l,int r); int AdjustArray(int s[],int l,int r); int main() {     int i,n,s[100];     printf("快速排序:\n");     scanf("%d",&n);     for(i=0;i<n;i++){     scanf("%d",&s[i]);     }     QuickSort(s,0,n-1);     printf("排序结果:\n");     for(i=0;i<n;i++){     printf("%d ",s[i]);     }     printf("\n");     return 0; } void QuickSort(int s[],int l,int r) {     int i;     if(l<r){       i=AdjustArray(s,l,r);       QuickSort(s,l,i-1);       QuickSort(s,i+1,r);     } } int AdjustArray(int s[],int l,int r){     int i=l,j=r;     int x=s[l];     while(i<j){         while(i<j&&s[j]>=x){              j--;         }         if(i<j){           s[i]=s[j];           i++;         }         while(i<j&&s[i]<x){              i++;         }         if(i<j){           s[j]=s[i];           j--;         }     }     s[i]=x;     return i; }
    转载请注明原文地址: https://ju.6miu.com/read-968089.html

    最新回复(0)