美文网首页
快速排序算法(C语言)

快速排序算法(C语言)

作者: 奋斗live | 来源:发表于2019-02-15 16:57 被阅读0次
    #include<stdio.h>
    
    int arr[] = {1,10,2,6,15,25,3,5};
    
    void sort(int left,int right){
        int i,j,temp,k;
        if(left>right){
            return;
        }
        temp = arr[left];
        i = left;
        j = right;
        while(i!=j){
            while(arr[j]>=temp && i<j){
                j--;
            }
            while(arr[i]<=temp && i<j){
                i++;
            }
            if(i!=j){
                 k = arr[i];
                        arr[i] = arr[j];
                        arr[j] = k;
            }
        }
        arr[left] = arr[i];
        arr[i] = temp;
        sort(left,i-1);
        sort(i+1,right);
        
    }
    
    int main(){
        printf("--快速排序--\n");
        printf("排序前:\n");
        int i;
        for(i=0;i<8;i++){
            printf("%d ",arr[i]);
        }
        printf("\n");
        printf("排序后:\n");
        sort(0,7);
        for(i=0;i<8;i++){
            printf("%d ",arr[i]);
        }
        return 0;
    }
    

    结果如下图显示


    image.png

    相关文章

      网友评论

          本文标题:快速排序算法(C语言)

          本文链接:https://www.haomeiwen.com/subject/gyjmeqtx.html