美文网首页
快速排序算法(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